У меня есть следующий код в urls.py в mysite проекте.
/mysite/urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^gallery/$', include('mysite.gallery.urls')),
)
Это приводит к 404 страницам, когда я пытаюсь получить доступ к набору URL в gallery/urls.py.
/mysite/gallery/urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^gallery/browse/$', 'mysite.gallery.views.browse'),
(r'^gallery/photo/$', 'mysite.gallery.views.photo'),
)
404 ошибки
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^gallery/$
The current URL, gallery/browse/, didn't match any of these.
Кроме того, сайт размещается на храме медиа (dv) сервер и использующий mod_wsgi
Удалите $
из регулярного выражения основного urls.py
urlpatterns = patterns('',
(r'^gallery/', include('mysite.gallery.urls')),
)
. Вам не нужна галерея
во включенном Urlconf.
urlpatterns = patterns('',
(r'^browse/$', 'mysite.gallery.views.browse'),
(r'^photo/$', 'mysite.gallery.views.photo'),
)
Прочтите django docs для получения дополнительной информации
Обратите внимание, что регулярные выражения в этом примере не содержат
$
(символ соответствия конца строки), но имеют включить косую черту в конце. Всякий раз, когда Django встречаетinclude ()
, он отрезает любую часть URL, совпавшую до этого момента, и отправляет оставшуюся строку во включенный URLconf для дальнейшей обработки.