Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 为什么当我点击bms_homepage.html中的登录按钮时会出现“页面未找到”?_Django_Django Views_Django Templates - Fatal编程技术网

Django 为什么当我点击bms_homepage.html中的登录按钮时会出现“页面未找到”?

Django 为什么当我点击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'), ] 登录

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'),
]
登录页面.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>