Модель django get_absolute_url не работает должным образом после рефакторинга URL - PullRequest
0 голосов
/ 01 ноября 2011

У меня проблемы с моим get_absolute_url в моей модели Entry. Проблема в том, что, поскольку я отделил urls.py от моего приложения, этот метод отображает URL текущей страницы, которую я посещаю. Поэтому, где он должен отображать список URL различных записей, которые он фактически отображает http://localhost:8000/weblog/. Если у кого-то из вас, ребята, есть свободное время, пожалуйста, проверьте код здесь .

Большое спасибо за любую помощь заранее

Ответы [ 2 ]

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

Я думаю, ваш код должен быть таким:

models.py

@permalink
def get_absolute_url(self):
     return ...

И, это важно, в ваших URL:

url(r'^(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$', 'object_detail', entry_info_dict, name='coltrane_entry_detail'),
0 голосов
/ 01 ноября 2011

Скорее всего, get_absolute_url возвращается пустым, делая ваши hrefs "", которые будут просто ссылаться на текущую страницу. Я бы подумал, что декоратор permalink выдаст ошибку, если не сможет правильно перевернуть URL, но, видимо, нет.

Просматривая ваш код, единственное, что я могу найти, это что-то не то, что вы ссылаетесь на атрибут slug с slug(), как если бы это был метод. По-моему, именно это и убивает обратный просмотр URL.

...