Не могу заставить работать обратный URL для Django с именованными аргументами и view - PullRequest
0 голосов
/ 10 ноября 2011

Я не могу заставить 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)})

Проблема возникает, когда модель имеет (уровень == 2) и, на мой взгляд, ничего не генерируется ...

Как и в случае, когда я запрашиваю get_absolute_url, он должен возвращать URL, используя первый шаблон URL.

1 Ответ

0 голосов
/ 10 ноября 2011

НЕПРАВИЛЬНО:

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

ПОЧЕМУ:

отсутствует ? перед P<cat>.*.

ПРАВО:

  url(r'^(?P<cat>.*)/(?P<sub_cat>.*)/(?P<page>\d*)/$', 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...