2010-05-26 4 views
10

Mam następujący kod w projekcie urls.py w mysite.Wraz z url.py aplikacji Django uzyskuje się 404

/mysite/urls.py

from django.conf.urls.defaults import * 
urlpatterns = patterns('', 
    (r'^gallery/$', include('mysite.gallery.urls')), 
) 

Skutkuje to 404 strony przy próbie dostępu do adresu URL określonego w galerii/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 error

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. 

Ponadto, strona jest hostowana na nośniku świątyni (DV) serwer i za pomocą mod_wsgi

Odpowiedz

17

Usuń $ z wyrostka głównego urls.py

urlpatterns = patterns('', 
    (r'^gallery/', include('mysite.gallery.urls')), 
) 

Nie potrzebujesz gallery w dołączonym Urlconf.

urlpatterns = patterns('', 
    (r'^browse/$', 'mysite.gallery.views.browse'), 
    (r'^photo/$', 'mysite.gallery.views.photo'), 
) 

Przeczytaj django docs więcej informacji

Zauważ, że wyrażenia regularne w tym przykładzie nie ma $ (end-of-ciąg znaków mecz), ale nie obejmują ukośnika. Ilekroć Django napotyka include(), wyłącza to, co część adresu URL pasuje do tego punktu, a wysyła pozostały ciąg do dołączonego URLconf do dalszego przetwarzania.

+0

Dzięki! To działa :) – 828

Powiązane problemy