为什么 Django 给我一个 404 错误
why is Django giving me a 404 error
我目前正在尝试完成 Django 2.0 教程 Poll 应用程序。我正在使用 Django 版本 2.0.7 和 Python 3.7.0。我已经为这个项目设置了一个虚拟环境。我是 Django 的新手,如果我的术语不正确,我深表歉意。
基本上,我无法让第 1 部分工作。
我已经尝试了无数次 运行 它,但我似乎无法弄清楚为什么它不起作用。
在我创建投票应用程序之前,网站 运行 正确并且我得到了火箭飞船,但是在我创建应用程序之后,更新 polls/views.py,创建 polls/urls .py 文件并更新 mysite/urls.py,我收到以下错误:
找不到页面 (404)
请求方法 GET
请求 URL:http://127.0.0.1:8000/
使用 mysite.urls 中定义的 URLconf,Django 尝试了这些 URL 模式,顺序为:
- 民意调查/
- 管理员/
空路径与其中任何一个都不匹配。
我认为我的代码不正确,所以我直接从网站上复制并粘贴代码并尝试运行。还是不行。
下面是我正在尝试的代码和目录布局。任何帮助将不胜感激。我确定我只是缺少一些简单的东西。
谢谢。
mysite/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
polls/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'), ]
polls/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
C目录:\Users\ad\Documents\projects\mysite\msenv\mysite\mysite
print.txt
settings.py
urls.py
wsgi.py
init.py
pycache
C目录:\Users\ad\Documents\projects\mysite\msenv\mysite\polls
admin.py
apps.py
迁移
models.py
tests.py
urls.py
views.py
init.py
pycache
您是否在 settings.py 中添加了您的应用程序名称 请确保您已将名称添加到位于项目文件夹下的 settings.py 中
在你的情况下,它会在这里:
Directory of C:\Users\ad\Documents\projects\mysite\msenv\mysite\mysite
像这样:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app_name',] # <--- polls in your case
确保您使用定义的路由访问正确的页面
例如你的情况:
您网站的路由是:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
您的应用程序 'polls' 路由是:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
根据您的 views.py 文件
这是:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
你必须访问http://localhost:{port number}/polls/ or http://127.0.0.1:{端口号}/polls/
默认端口号为 8000
在 运行 服务器使用 python manage.py runserver
之后
将您的页面作为浏览器的输出
我目前正在尝试完成 Django 2.0 教程 Poll 应用程序。我正在使用 Django 版本 2.0.7 和 Python 3.7.0。我已经为这个项目设置了一个虚拟环境。我是 Django 的新手,如果我的术语不正确,我深表歉意。
基本上,我无法让第 1 部分工作。
我已经尝试了无数次 运行 它,但我似乎无法弄清楚为什么它不起作用。
在我创建投票应用程序之前,网站 运行 正确并且我得到了火箭飞船,但是在我创建应用程序之后,更新 polls/views.py,创建 polls/urls .py 文件并更新 mysite/urls.py,我收到以下错误:
找不到页面 (404) 请求方法 GET 请求 URL:http://127.0.0.1:8000/
使用 mysite.urls 中定义的 URLconf,Django 尝试了这些 URL 模式,顺序为:
- 民意调查/
- 管理员/
空路径与其中任何一个都不匹配。
我认为我的代码不正确,所以我直接从网站上复制并粘贴代码并尝试运行。还是不行。
下面是我正在尝试的代码和目录布局。任何帮助将不胜感激。我确定我只是缺少一些简单的东西。
谢谢。
mysite/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
polls/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'), ]
polls/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
C目录:\Users\ad\Documents\projects\mysite\msenv\mysite\mysite
print.txt
settings.py
urls.py
wsgi.py
init.py
pycache
C目录:\Users\ad\Documents\projects\mysite\msenv\mysite\polls
admin.py
apps.py
迁移
models.py
tests.py
urls.py
views.py
init.py
pycache
您是否在 settings.py 中添加了您的应用程序名称 请确保您已将名称添加到位于项目文件夹下的 settings.py 中
在你的情况下,它会在这里:
Directory of C:\Users\ad\Documents\projects\mysite\msenv\mysite\mysite
像这样:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app_name',] # <--- polls in your case
确保您使用定义的路由访问正确的页面
例如你的情况:
您网站的路由是:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
您的应用程序 'polls' 路由是:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
根据您的 views.py 文件
这是:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
你必须访问http://localhost:{port number}/polls/ or http://127.0.0.1:{端口号}/polls/
默认端口号为 8000
在 运行 服务器使用 python manage.py runserver
之后将您的页面作为浏览器的输出