在视图中使用 url args,可以吗?

发布于 2024-11-07 12:39:18 字数 265 浏览 0 评论 0原文

我想在视图中使用 url 参数(不是模板,我知道该怎么做)。

那么是否可以像这样使用它们:

def item_link(self, item):
    return mainpage_url_name + "%s/%i" % (item.slug, item.cid)

mainpage_url_name - 当然是在 url 模式中定义的(作为名称变量)

我是 Django 的新手...

谢谢

I'd like to use url arguments in views (not templates, I know how to do that).

So is it possible to use them like:

def item_link(self, item):
    return mainpage_url_name + "%s/%i" % (item.slug, item.cid)

mainpage_url_name - is of course defined in url patterns (as name variable)

I'm a total newb in Django...

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤星 2024-11-14 12:39:18

首先,您应该使用 url 模式的名称,如 记录在此处

然后你可以使用 reverse() 在您的视图或方法中使用这些名称。


根据您的评论,您正在使用联合框架。

因此,您应该确保为模型定义 get_absolute_url() ,最好使用 永久链接装饰器(用于干净地反转您的网址)。

查看 Django 文档中的 示例应该是所有必要的。

要指定的内容,您
有两个选择。对于中的每个项目
items(),Django首先尝试调用
Feed 上的 item_link() 方法
班级。和标题类似的方式
和描述,它被传递给它
单个参数,项目。如果用那个方法
不存在,Django 尝试执行
get_absolute_url() 方法
目的。

First you should use names for your url patterns as documented here.

Then you can use reverse() to use these names in your views or methods.


Following your comments you are using the syndication framework.

Therefore you should make sure that you define get_absolute_url() for you models, ideally using the permalink decorator (for a clean reversing of your urls).

Looking at the example from Django's docs that should be all that's necessary.

To specify the contents of <link>, you
have two options. For each item in
items(), Django first tries calling
the item_link() method on the Feed
class. In a similar way to the title
and description, it is passed it a
single parameter, item. If that method
doesn't exist, Django tries executing
a get_absolute_url() method on that
object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文