Включая Django url.py приложения приводит к 404

У меня есть следующий код в 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

10
задан Nabeel Ahmed 11 June 2012 в 08:54
поделиться

1 ответ

Удалите $ из регулярного выражения основного 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 для дальнейшей обработки.

17
ответ дан 3 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: