当我单击 bms_homepage.html 中的登录按钮时,为啥“找不到页面”?
Posted
技术标签:
【中文标题】当我单击 bms_homepage.html 中的登录按钮时,为啥“找不到页面”?【英文标题】:Why "Page not found" when I click on login button in bms_homepage.html?当我单击 bms_homepage.html 中的登录按钮时,为什么“找不到页面”? 【发布时间】:2020-06-13 12:58:56 【问题描述】:URLS.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'),
]
VIEWS.PY
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')
login_page.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>
bms_homepage.html
<a href="login_page.html"><button id="login">LOGIN</button></a>
我想要做的是来自 homepage.html,当我点击登录按钮时,它应该打开 login_page.html 但它向我显示了这个错误。
找不到页面
请用简单的话解释一下。
【问题讨论】:
请不要在标题中使用全部大写字母。这被认为是大喊大叫。 因为你没有login_page.html
。该页面在您的urls.py
中名为login
。
【参考方案1】:
您应该引用 url 模式名称而不是模板名称。
在您的情况下,url 模式名称是 login
:
urlpatterns = [
..
path('login', views.login, name='login'), <<<--- "name" argument value
]
要引用这个模式,你应该像这样使用 url-reversion 模板标签:
<a href="% url 'login' %">...</a>
【讨论】:
以上是关于当我单击 bms_homepage.html 中的登录按钮时,为啥“找不到页面”?的主要内容,如果未能解决你的问题,请参考以下文章
当我单击 AdminLTE 3.0 中的子菜单时,如何折叠导航树视图?
当我单击 Eclipse 中的按钮时,使用 tabHost 并转到特定选项卡
当我单击目标 C 中的一个按钮(添加按钮)时,如何创建一组按钮?