2017-01-15 39 views
0

私はDjangoから404を手に入れていますが、その件に関する過去の投稿(どれも多くあります)は役に立たなかったようです。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. 

他の2つのURL(/と/ add_something)は正常に動作します。

答えて

2

まず第一に、ではないあなたは、この問題に実行していないかどうかはわかりますが、あなたのapp/urls.py

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

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

$でなければなりませんが、正規表現パターンの終わり、および内部の何かを示し、 include()は含まれません。

は、第二に、あなたのURLパターンのいずれもが、彼らは唯一の私は完全に(?P \ D +)が何を意味するのか誤解された URL regex, etc..

+0

のドキュメントにmy_details/<id>

もう少し一致my_details/と一致していない...私がいましたmy_detailsを試していますか?id = 3など –

+0

あなたは 'my_details/3 /'を実行する必要があります – karthikr

+0

Yeh、ありがとう。これで、私はviews.pyに追加する必要があるのでしょうか?ページはレンダリングされていますが、テンプレートの{{model.id}}が空白のようです...モデルオブジェクトを手動で取得する必要はありますか? –

関連する問題