Я практикую django с книгой «Практическое издание Django 2nd edition», основанной на django 1.1 Я установил django 1.5, поэтому я должен выяснить изменения между версиями django и написать правильный код (thanx django документация)Django 1.5 Общий вид
Общий вид сильно изменился в django 1.5, но, наконец, я получил его. У меня есть четыре URL-адреса в моих urls.py, как показано ниже:
urlpatterns = patterns('',
url(r'^(?P<year>\d{4})/$', EntryYearArchiveView.as_view(), name='coltrane/Entry_Archive_year'),
url(r'^(?P<year>\d{4})/(?P<month>\w{3})/$', EntryMonthArchiveView.as_view(),name='coltrane/Entry_month_Archive'),
url(r'^(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$',
EntryDateDetailView.as_view(), name='coltrane/Entry_Date_Detail'),
url(r'$', ArchiveIndexView.as_view(model=Entry, date_field="pub_date"), name='coltrane/Entry_Archive'),
)
и мнения для каждого URL. Как вы можете видеть URL-адрес ArchiveViewIndex - это знак $, поэтому адрес example.com/weblog/
должен запускать это. И EntryYearArchiveView получает год. , но что-то не так! адрес example.com/weblog/2013/
все еще работает ArchiveIndexView, но не EntryYearArchiveView. Ошибка EntryMonthArchiveView. Название шаблона YearArchive: Entry_archive_year как и должно быть. Что я здесь возился?
Вы проходите в году '2013' как номер или как строку? – karthikr
Я только что последовал за книгой. Я думаю, что это число, потому что (? P \ d {4}). –
Должно быть, все было хорошо. Просто попробуйте одно для меня - измените последний url на 'r '^ $'' вместо 'r '$'' – karthikr