Django 为什么当我点击bms_homepage.html中的登录按钮时会出现“页面未找到”?
url.PY VIEWS.PYDjango 为什么当我点击bms_homepage.html中的登录按钮时会出现“页面未找到”?,django,django-views,django-templates,Django,Django Views,Django Templates,url.PY VIEWS.PY from django.contrib import admin from django.urls import path from . import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.homepage, name='homepage'), path('login', views.login, name='login'), ] 登录
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.homepage, name='homepage'),
path('login', views.login, name='login'),
]
登录页面.html
from django.http import HttpResponse
from django.shortcuts import render
def homepage(request):
return render(request, 'bms_homepage_template/bms_homepage.html')
def login(request):
return render(request, 'bms_homepage_template/login_page.html')
bms_homepage.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login Page</title>
</head>
<body>
<h1>LOGIN INTO YOUR ACCOUNT</h1>
<form action="">
Account Number:
<input type="text"> <br>
Password:
<input type="text"> <br>
<input type="submit" value="submit">
</form>
</body>
</html>
我想做的是从homepage.html,当我点击login按钮时,它会打开login_page.html
但它向我展示了这个错误
找不到页面
请简单解释。您应该参考url模式名称,而不是模板名称 在您的情况下,url模式名称为login: 要引用此模式,应使用url反转模板标记,如下所示:
urlpatterns = [
..
path('login', views.login, name='login'), <<<--- "name" argument value
]
请不要在标题中使用所有大写字母。这被认为是大喊大叫,因为你没有登录页面。该页面在您的URL.py中命名为login。
urlpatterns = [
..
path('login', views.login, name='login'), <<<--- "name" argument value
]
<a href="{% url 'login' %}">...</a>