我正在关注本教程:https://www.youtube.com/watch?v=Z4D3M-NSN58
这是我收到404错误的地方:https://www.youtube.com/watch?v=Z4D3M-NSN58&t=1044s
我到目前为止所做的:
设置一个新项目,
创建了一个virtualenv,
设置views.py,
p++; // UB?
在我的 主 文件夹中创建了urls.py,
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(response):
return HttpResponse("<h3>MySite</h3>")
修改了 project 文件夹中的urls.py
from django.urls import path
from . import views
urlpatterns = [
path("",views.index,name="index"),]
在连接到http://127.0.0.1:8000/后,我收到404错误。
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/',admin.site.urls),path('home/',include("main.urls")),]
我无法继续。
解决方案:
project 文件夹中的urls.py有两个路径,一个用于admin /,一个用于home/。
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/
Using the urlconf defined in project.urls,Django tried these URL patterns,in this order:
admin/
home/
The empty path didn't match any of these.
尝试连接到http://127.0.0.1:8000/home或http://127.0.0.1:8000/admin是可行的,但留空路径是无效的。
这是因为,如果键入/ home /,它将进入 main / urls.py 内,并查找 / home / 路径。路径在那里,它显示views.py内部的内容。为了显示所需的输出而不在URL末尾输入路径,我不得不将 / home / 路径更改为 project /内的“空”路径。 urls.py
urlpatterns = [
path('admin/',]
现在,如果未输入任何路径:http://127.0.0.1:8000/,它将在 main / urls.py 中查找空路径。它会发现一个空路径会导致 project / views.index ,这就是它的显示内容。