无法使用命名args和视图使django的反向URL工作

时间:2011-11-10 09:40:37

标签: django url

我无法从模型中获取get_absolute_url来生成正确的URL;

urls.py

url(r'^(P<cat>.*)/(?P<sub_cat>.*)/(?P<page>\d*)/$', 
        view = 'a.generic.views.article.list', 
        name = "article_list"),

url(r'^(?P<cat>.*)$', 
        view = 'a.generic.views.category.list_sub', 
        name = "category_list"),

models.py

@m.permalink
def get_absolute_url(self):
    if self.level == 2:
        return ('article_list', (), {
                        'cat': str(self.parent.seo_title), 
                        'sub_cat': str(self.seo_title), 
                        'page': str(0)})
    elif self.level == 1:
        return ('category_list', (), {
                        'cat': str(self.seo_title)})

当模型具有(level == 2)并且在我看来没有生成任何内容时会发生问题...

当我要求get_absolute_url时,它应该使用第一个url模式返回url。

1 个答案:

答案 0 :(得分:0)

<强> WRONG:

  url(r'^(P<cat>.*)/(?P<sub_cat>.*)/(?P<page>\d*)/$', 

为什么:

错过了?之前的P<cat>.*

从右:

  url(r'^(?P<cat>.*)/(?P<sub_cat>.*)/(?P<page>\d*)/$',