我是 Django 新手,从基础开始。问题是在遵循教程时我创建了一个具有注册页面的帐户应用程序。由于某种原因,每当我尝试进入我的注册页面时,django 都会告诉我它与任何路径都不匹配。
下面是给定的代码: 帐户应用程序 url.py
from django.urls import path
from . import views
urlpatterns = [
path('register', views.register, name="register")
]
帐户应用程序的视图
from django.shortcuts import render
def register(request):
return render(request, 'register.html')
register.html 是:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Registeration</title>
</head>
<body>
<form action="register" method = "post">
{% csrf_token %}
<input type= "text" name="first_name" placeholder="First Name"><br>
<input type= "text" name="last_name" placeholder="Last Name"><br>
<input type= "text" name="username" placeholder="UserName"><br>
<input type= "text" name="password1" placeholder="Password"><br>
<input type= "text" name="password2" placeholder="Verify Password"><br>
<input type= "submit">
</form>
</head>
<body>
</body>
</html>
```
web_project urls.py
```
from django.contrib import admin
from django.urls import include, path
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path("", include('travello.urls')),
path('admin/', admin.site.urls),
path('accounts/', include('accounts.urls')),
]
urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我收到的错误如下:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/accounts/register.html
Using the URLconf defined in web_project.urls, Django tried these URL patterns, in this order:
[name='index']
admin/
accounts/ register [name='register']
^media/(?P<path>.*)$
The current path, accounts/register.html, didn’t match any of these.
You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
P.s:我知道这个问题之前已经被问过,但我尝试了一切仍然无法理解我在哪里犯了错误。
您忘记将
/
添加到您的网址
path('register/', views.register, name="register")
在
settings.py
中制作:
TEMPLATES = [
{
...
'DIRS': ['templates'],
...
}
您只需粘贴代码即可;
导入您的路径......
urlpatterns=[
path('register/', views.register, name="register")
]
基本上,您可以将 - 'register/' 称为任何您想要的东西,但在创建文件路径时有必要在创建路径名后添加斜杠。这使您的 URL 能够识别必要的路径。