Найти - Пользователи
Полная версия: как правильно использовать get()?
Начало » Django » как правильно использовать get()?
1
Dmitry
Вот такая проблема (главная проблема в мой неграмотности, конечно).

Я пытаюсь создать блог, и хочу чтоб у меня 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()?

Заранее всем спасибо!
Александр Кошелев
У вас не правильный паттерн для слага:
Dmitry
(?P<slug>\+)
Dmitry
огромное спасибо! всегда говорил, что замыленным глазом ошибку не найти. действительно, в паттерне проблема была
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB