Python ';登录';Django框架中的错误

Python ';登录';Django框架中的错误,python,django,Python,Django,当我插入用户名和密码时,它不会重定向到主页,而是停留在登录页面上,它的URL会显示这样的消息 http://localhost:8000/login/?csrfmiddlewaretoken=B6RMXDzgZjnk2QzbmbcesMqsRUOtVH3Q1FBaS1HCB6CXXujpbOziiHLH8VR1oLzC&username=admin&password=laughonloud24 在Powershell中,它显示如下 System check identified no issue

当我插入用户名和密码时,它不会重定向到主页,而是停留在登录页面上,它的URL会显示这样的消息

http://localhost:8000/login/?csrfmiddlewaretoken=B6RMXDzgZjnk2QzbmbcesMqsRUOtVH3Q1FBaS1HCB6CXXujpbOziiHLH8VR1oLzC&username=admin&password=laughonloud24

在Powershell中,它显示如下

System check identified no issues (0 silenced).
May 25, 2018 - 11:50:07
Django version 2.0.5, using settings 'a.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[25/May/2018 11:50:10] "GET /login/?csrfmiddlewaretoken=B6RMXDzgZjnk2QzbmbcesMqsRUOtVH3Q1FBaS1HCB6CXXujpbOziiHLH8VR1oLzC&username=admin&password=laughonloud24 HTTP/1.1" 200 446
Performing system checks...
虽然没有错误,但它的行为方式与我所希望的不同

models.py

from django.db import models

# Create your models here.
class login_model(models.Model):
    username = models.CharField(max_length=200)
    password = models.CharField(max_length=200)
forms.py

from django import forms
from .models import login_model

class LoginForm(forms.ModelForm):
    class Meta:
        model = login_model
        fields = ['username','password']
url.py

from django.urls import path
from . import views
urlpatterns = [
    path('login/',views.login_view,name = 'login_url' ),
    path('',views.home, name = 'home_url'),
]
views.py

from django.shortcuts import render,redirect
from .forms import LoginForm
from django.contrib.auth import authenticate,login
# Create your views here.
def home(request):
    return render(request,'home.html')

def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST or None)
        if form.is_valid():
            uusername = form.cleaned_data.get('username')
            ppassword = form.cleaned_data.get('password')
            user = authenticate(request,username=uusername,password=ppassword)
            if user is None:
                login(request,user)
                return redirect('home url')
            else:
                print('Error')

    else:
        form = LoginForm()
    return render(request,'login.html',{'form':form})
模板

login.html

<form>
    {% csrf_token %}
    {{form.as_p}}
    <input type="submit" value="Login">
</form>

{%csrf_令牌%}
{{form.as_p}}
home.html

{% if user.is_authenticated %}
<h1>Hi {{user.username}} </h1>
{% else %}
<h1> Hi Ola Amigo </h1>
<p>Please Login <a href="{% url 'login_url' %}">Login</a> </p>
{% endif %}
{%if user.u经过身份验证%}
你好{{user.username}
{%else%}
嗨,朋友
请登录

{%endif%}
您应该将表单的方法设置为
POST
,否则默认为
GET

<form action="" method="post">
    {% csrf_token %}
    {{form.as_p}}
    <input type="submit" value="Login">
</form>

{%csrf_令牌%}
{{form.as_p}}

您应该将表单的方法设置为
POST
,否则默认为
GET

<form action="" method="post">
    {% csrf_token %}
    {{form.as_p}}
    <input type="submit" value="Login">
</form>

{%csrf_令牌%}
{{form.as_p}}

我还犯了另一个错误,在登录视图中,如果用户为none,我就写了!这意味着当我使用正确的信息登录时,它将始终打印错误。。顺便说一句,谢谢你纠正我。我也犯了另一个错误,在登录视图中,如果用户是无的,我已经写了!这意味着当我使用正确的信息登录时,它将始终打印错误。。顺便说一句,谢谢你纠正我。。