Python 单击登录按钮时找不到页面404

Python 单击登录按钮时找不到页面404,python,django,Python,Django,好的,我的注册工作正常。我在某个地方犯了一个错误,这就是下面的错误 Request Method: POST Request URL: http://localhost:8000/users/%7Burl%20'users:login'%20%25%7D Using the URLconf defined in loginReg.urls, Django tried these URL patterns, in this order: ^users/ ^$ [name='index'] ^

好的,我的注册工作正常。我在某个地方犯了一个错误,这就是下面的错误

Request Method: POST
Request URL:    http://localhost:8000/users/%7Burl%20'users:login'%20%25%7D
Using the URLconf defined in loginReg.urls, Django tried these URL patterns, in this order:
^users/ ^$ [name='index']
^users/ ^register$ [name='register']
^users/ ^success$ [name='success']
^users/ ^login$ [name='login']
^users/ ^logout$ [name='logout']
The current URL, users/{url 'users:login' %}, didn't match any of these.
表单的其余部分在我删除登录部分时工作,所以我倾向于这样做。我已经包括models.py url.py和两个html的一部分,我希望有人能看到我丢失的错误

索引html

<!DOCTYPE html>
<html>
<head>
    <title>Login and Registration</title>
</head>
<body>
    {% if messages %}
        {% for message in messages %}
            <p>{{ message }}</p>
        {% endfor %}
    {% endif %}
    <div class="register">
        <h1>Register</h1>
        <form class="" action="{% url 'users:register' %}" method="post">
            {% csrf_token %}
            <p>First Name: <input type="text" name="first_name" value=""></p>
            <p>Last Name: <input type="text" name="last_name" value=""></p>
            <p>Email: <input type="text" name="email" value=""></p>
            <p>Password: <input type="Password" name="password" value=""></p>
            <p>Confirm Password: <input type="password" name="confirm_password" value=""></p>
            <input type="submit" name="" value="Register">
        </form>
    </div>
    <div class="login">
        <h1>Login</h1>
        {% csrf_token %}
        <form class="" action="{url 'users:login' %}" method="post">
        <p>Email: <input type="text" name="email" value=""></p>
        <p>Password: <input type="Password" name="password" value=""></p>
        <input type="submit" name="" value="Login">
        </form>
    </div>
</body>
</html>
views.py

from django.shortcuts import render, redirect
from . models import User
from django.contrib import messages

# Create your views here.
def index(request):
    return render(request, 'logReg/index.html')

def register(request):
    viewsResponse = User.objects.add_user(request.POST)
    if viewsResponse['isRegistered']:
        request.session['user_id'] = viewsResponse['user'].id
        request.session['user_fname'] = viewsResponse['user'].first_name
        return redirect('users:success')
    else:
        for errors in viewsResponse['errors']:
            messages.error(request, errors)
        return redirect('users:index')


def success(request):
    if 'user_id' not in request.session:
        messages.error(request, 'Must be logged in!')
        return redirect('users.index')
    return render(request, 'logReg/success.html')

def login(request):
    viewsResponse = User.objects.login_user(request.POST)
    if viewsResponse['isLoggedIn']:
        request.session['user_id'] = viewsResponse['user'].id
        request.session['user_fname'] = viewsResponse['user'].first_name
        return redirect('users:success')
    else:
        for errors in viewsResponse['errors']:
            messages.error(request, errors)
        return redirect('users:index')

def logout(request):
    return redirect('users.index')
你有打字错误

{url 'users:login' %}
应该是

{% url 'users:login' %}
#^ missing %

谢谢你,我知道这是件愚蠢的事,我需要第二双眼睛。我可以在两分钟内接受答案
{url 'users:login' %}
{% url 'users:login' %}
#^ missing %