Django get_absolute_url并命名为url with namespace

时间:2012-01-26 22:00:41

标签: django django-models django-views

我对django的命名网址存在问题,其中包含include关键字。在我的主urls.py中我有url(r'^blog/$', include('blog.urls', namespace='blog')),在我的blog.urls中我有url(r'^(?P<slug>[-\w]+)/$', BlogDetailView.as_view(template_name='blog_detail.html'), name='blog_detail'),我想在我的模型中使用该命名的url作为get_absolute_url()函数的返回语句。如果我输入

@models.permalink
    def get_absolute_url(self):
        return('blog_detail', (), {'slug':self.slug})

它不起作用...如果我删除inculde语句并将所有blog_detail网址放入我的网址,它就像一个魅力,我该怎么办才能解决?

感谢您的建议......

1 个答案:

答案 0 :(得分:0)

您没有为命名空间添加前缀。请改用以下内容:

@models.permalink
def get_absolute_url(self):
    return('blog:blog_detail', (), {'slug':self.slug})