实现登录功能:
untitled1/urls.py:
untitled1/urls.py:
from django.contrib import admin
from django.urls import include,path
urlpatterns = [
path('admin/', admin.site.urls),
path('kake/',include('kake.urls',namespace='user')),
]
kake(APP名字)/urls.py:
from django.urls import path
from . import views
app_name='user'
urlpatterns = [
path('login',views.login),
path('success/<int:id>',views.success,name='success'),
]
views.py:
from django.shortcuts import render,redirect,reverse
from .models import *
def login(request):
if request.method=='GET':
return render(request,'login.html')
else:
# 接收页面传过来的用户名,密码
uname = request.POST.get('username')
pwd = request.POST.get('pwd')
#从数据库查询是否存在此用户名密码
blogUserSet=BlogUser.objects.filter(userName=uname,pwd=pwd)
if len(blogUserSet)==1:
#跳转到登录的主页面
return redirect(reverse('user:success',args=[blogUserSet[0].id]))
else:
return render(request,'login.html',{'mess':'用户名密码不正确'})
def success(request,id):
blogUser=BlogUser.objects.get(pk=id)
return render(request,'success.html',{'bloguser':blogUser})
login.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/kake/login" method="post">
{% csrf_token %}
用户名:<input type="text" name="username"/><span>{{ mess }}</span><br/>
密码:<input type="password" name="pwd"/><br/>
<input type="submit" value="登录"/>
</form>
</body>
</html>
success.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
欢迎{{ bloguser.userName }}登录成功
</body>
</html>