Django:找不到页面
Django: Page Not Found
我从 Django 收到了 404,none 之前关于该主题的帖子(其中有很多)似乎有所帮助。
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"),
]
app/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)工作正常。
首先,不确定你是如何不 运行 进入这个问题,但在你的 app/urls.py
(r'^$', include('app.urls')),
应该是
(r'^/', include('app.urls')),
$
表示正则表达式模式结束,include()
内的任何内容都不会被包含在内。
其次,None 的 URL 模式匹配 my_details/
他们只匹配 my_details/<id>
的文档的更多信息
我从 Django 收到了 404,none 之前关于该主题的帖子(其中有很多)似乎有所帮助。
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"),
]
app/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)工作正常。
首先,不确定你是如何不 运行 进入这个问题,但在你的 app/urls.py
(r'^$', include('app.urls')),
应该是
(r'^/', include('app.urls')),
$
表示正则表达式模式结束,include()
内的任何内容都不会被包含在内。
其次,None 的 URL 模式匹配 my_details/
他们只匹配 my_details/<id>