Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 24, 2010 15:23:16

Dmitry
От:
Зарегистрирован: 2010-02-26
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

как правильно использовать get()?

Вот такая проблема (главная проблема в мой неграмотности, конечно).

Я пытаюсь создать блог, и хочу чтоб у меня url выглядело сдледующим образом …/thoughts/2010/apr/24 (например), то есть чтобы посты были уникальными по дате. В модели я определил все нужные поля. В URLconf следующий шаблон:

^thoughts/(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>\[-\w]+)/$
В представлениях определяю следующую функцию:
def thoughts_detail(request, year, month, day, slug):
import datetime, time
date_stamp = time.strptime(year+month+day, "%Y%b%d")
pub_date = datetime.date(*date_stamp[:3])
thought = get_object_or_404(Thoughts, publication_date__year=pub_date.year,
publication_date__month=pub_date.month, publication_date__day=pub_date.day,
slug=slug)

return render_to_response('thoughts\\thoughts_detail.html',
{'thought': thought})
Но при попытке просмотреть на сайте созданный пост, получаю ответ
"The current URL, thoughts/2010/apr/24/test/, didn't match any of these."
Такое чувство, что из функции представление что то передается не так или не в том формате.

Вопрос, что я делаю не так и как понимать запись publication_date__year=pub_date.year?
Что конкретно делает метод get()?

Заранее всем спасибо!



Офлайн

#2 Апрель 24, 2010 16:38:00

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

как правильно использовать get()?

Офлайн

#3 Апрель 24, 2010 16:48:51

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

как правильно использовать get()?

У вас не правильный паттерн для слага:

Dmitry
(?P<slug>\+)



Офлайн

#4 Апрель 25, 2010 11:31:21

Dmitry
От:
Зарегистрирован: 2010-02-26
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

как правильно использовать get()?

огромное спасибо! всегда говорил, что замыленным глазом ошибку не найти. действительно, в паттерне проблема была



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version