Невозможно сопоставить URL в URL.conf в Django? - PullRequest
1 голос
/ 14 августа 2011

Что я делаю не так?

Мой URL: http://localhost:8000/login/

Журнал DEBUG от Django:

Page not found (404)
Request Method: GET
Request URL:    http://localhost:8000/login/
Using the URLconf defined in dealers.urls, Django tried these URL patterns, in this order:
^login|home/ ^login/$
^login|home/ ^home/$
^login|home/ ^home/dealer/(?P<dealer_id>\d+)/$
^admin/
The current URL, login/, didn't match any of these.

urls.py-файл:

from django.conf.urls.defaults import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
  (r'^login|home/',include('dealerpanel.urls')),
  (r'^admin/', include(admin.site.urls))
)

дилерская панель / urls.py:

from django.conf.urls.defaults import patterns, include, url

urlpatterns = patterns('dealerpanel.views',
  (r'^login/$','login'),
  (r'^home/$','home'),
  (r'^home/dealer/(?P<dealer_id>\d+)/$','details')
)

Ответы [ 2 ]

4 голосов
/ 14 августа 2011
## urls.py
urlpatterns = patterns('',
  (r'',include('dealerpanel.urls')),
  (r'^admin/', include(admin.site.urls))
)

Измените префикс для включения dealerpanel.urls в пустую строку. Я думаю, что если бы вы его структурировали, это бы выглядело как URL:

/login/login/
/login/home/
/home/login
...
0 голосов
/ 14 августа 2011

Добавьте что-то подобное к вашему dealerpanel/urls.py, чтобы http://localhost:8000/login/ попадало в поле зрения dealerpanel.views.target_view:

urlpatterns = patterns('dealerpanel.views',
  ...
  (r'','target_view'),
)

Это означает, что пустая строка после login (или home) будет соответствовать target_view

...