2011-05-17 68 views
0

我想在视图中使用url参数(不是模板,我知道如何做到这一点)。在视图中使用URL参数,是否有可能?

那么,是否可以使用他们像:

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

mainpage_url_name - 在URL模式定义(如姓名变量)当然

的我在Django ...

总福利局

谢谢

+1

我强烈建议您按照[Django教程](http://docs.djangoproject.com/en/dev/intro/tutorial01/)。它写得非常好,直截了当。 – 2011-05-17 07:14:34

+0

我一直这样做,但我一直无法找到我的答案... – Mission 2011-05-17 07:19:15

+0

你到底想要做什么?您发布的函数不是视图函数,因为它不会将请求作为其第一个参数。 – 2011-05-17 07:48:12

回答

4

首先,您应该使用您的url模式的名称作为documented here

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


继您的评论后,您正在使用整合框架。

因此,您应该确保为您的模型定义get_absolute_url(),理想情况下使用permalink decorator(用于彻底颠倒您的网址)。

看着example from Django's docs应该是所有必要的。

要指定<link>内容,您 有两个选择。对于 项目()中的每个项目,Django首先尝试在Feed 类中调用 item_link()方法。以类似于标题 和描述的方式,它将通过一个 单个参数项目。如果该方法 不存在,Django会尝试对该 对象执行 get_absolute_url()方法。

+0

是的,我尝试过,但我无法得到它的工作。正如我所说,我通过了文档,然后我发布了这个问题......而不是其他方式... – Mission 2011-05-17 08:37:48

+0

“我已经尝试过,但我无法得到它的工作”...你怎么期望有人如果这是您提供的全部信息,以帮助您?那么一些错误消息和一些额外的上下文信息呢? – arie 2011-05-17 08:50:39

+0

我总是得到你的内容类get_absolute_url()方法,或者在你的Feed类中定义一个item_link()方法get.absolute_url(self): \t \t return('frontpage-news-show',(),{ \t \t \t 'news_slug':self.slug, \t \t \t 'news_id':self.cid \t \t}) – Mission 2011-05-17 10:13:16

相关问题