2017-01-15 1 views
0

Я получаю 404 от Django, и ни одна из предыдущих сообщений по этому вопросу (которых их много), похоже, помогла.Django: Страница не найдена

views.py

from django.views.generic.detail import DetailView, SingleObjectMixin 
from app.models import MyModel 

class MyDetails(DetailView, SingleObjectMixin): 
    template_name = "app/my_view.html" 
    model = MyModel 

urls.py

from django.conf.urls import include, url 
from django.contrib import admin 
from app.views import MainList, post_form_upload, MyDetails 

urlpatterns = [ 
    url(r'^$', MainList.as_view(), name="main_list"), 
    url(r'^add_something$', post_form_upload, name="add_something"), 
    url(r'^my_details/(?P<pk>\d+)$', MyDetails.as_view(), name="my_details"), 
] 

приложение/urls.py

from django.conf.urls import url 
from django.conf.urls import include, url 
from django.contrib import admin 

urlpatterns = [ 
    (r'^$', include('app.urls')), 
    url(r'^admin/', include(admin.site.urls)), 
] 

, когда я ввожу URL: http://localhost:8000/my_details, я получаю следующее сообщение об ошибке:

Using the URLconf defined in app.urls, Django tried these URL patterns, in this order: 
^$ [name='main_list'] 
^add_something$ [name='add_something'] 
^my_details/(?P<pk>\d+)$ [name='my_details'] 
The current URL, my_details, didn't match any of these. 

Другие два URL (/ и/add_something) работают нормально.

ответ

2

Прежде всего, не знаю, как вы не работаете в этом вопросе, но в вашем app/urls.py

(r'^$', include('app.urls')), 

должен быть

(r'^/', include('app.urls')), 

$ указывает на конец регулярных выражений шаблона, и все, что внутри include() не включается.

Во-вторых, ни один из ваших шаблонов URL не соответствует my_details/ Они соответствуют только my_details/<id>

Чуть больше документации URL regex, etc..

+0

я полностью недоразумение, что (? P \ d +) имел в виду ... Я был try my_details? id = 3 и т. д. –

+0

Вы должны делать 'my_details/3 /' – karthikr

+0

Yeh, спасибо. Теперь, когда я это сделал, есть ли что-то, что мне нужно добавить в views.py? Страница теперь рендеринга, но похоже, что {{model.id}} в шаблоне пуст ... мне нужно вручную извлечь объект модели? –