快速用Django+mysql搭建網站_3_登入註冊介面&正確性判斷
阿新 • • 發佈:2022-03-26
上一篇:快速用Django+mysql搭建網站_2_連線資料庫&初步建立網站
前面建立專案並連線上資料庫,可以成功進入登入介面
接下來就是設計 登入註冊介面 並且能 判斷輸入的賬號密碼是否正確
一、設計登入介面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登入</title>
</head>
<body>
<form action="/polls/index/" method="post" >
{% csrf_token %}
<p><label>使用者名稱: </label><input name="user"/></p>
<p><label>密碼: </label><input name="pwd"/></p>
<input type="submit" value="登入">
<a href="/polls/to_register/">註冊</a>
</form>
</body>
</html>
post 提交會觸發 Django 的 CSRF 防禦機制,所以要加上那一句
點選登入或註冊,將不同的路徑發給 polls/urls.py 進行匹配,呼叫不同的檢視函式
二、註冊介面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>註冊</title>
</head>
<body>
<form action="/polls/register/" method="post" >
{% csrf_token %}
<p><label>使用者名稱: </label><input name="user"/></p>
<p><label>密碼: </label><input name="pwd"/></p>
<input type="submit" value="註冊">
</form>
</body>
</html>
三、配置polls的urls
from django.urls import path
from . import views
urlpatterns = [
path('', views.toLogin_view ),
path('index/', views.Login_view ),
path('to_register/', views.toRegister_view ),
path('register/', views.Register_view ),
]
四、檢視 views.py
from django.http import HttpResponse
from django.shortcuts import render
from .models import *
# 渲染登入介面
def toLogin_view(request):
return render(request, 'login.html')
# 點選登入後做的邏輯判斷
def Login_view(request):
u = request.POST.get("user",'')
p = request.POST.get("pwd",'')
if u and p:
c = StudentInfo.objects.filter(stu_name = u, stu_pwd = p).count() # 能獲取的資料的條數
if c >= 1:
return HttpResponse("登入成功!")
else:
return HttpResponse("賬號密碼錯誤!")
else:
return HttpResponse("使用者名稱或密碼不能為空!")
# 渲染註冊介面
def toRegister_view(request):
return render(request, 'register.html')
# 點選註冊後做的邏輯判斷
def Register_view(request):
u = request.POST.get("user", '')
p = request.POST.get("pwd", '')
if u and p:
stu = StudentInfo(stu_name = u, stu_pwd = p)
stu.save()
return HttpResponse("註冊成功!")
else:
return HttpResponse("請輸入完整的賬號和密碼!")
最後,啟動專案,進入 http://127.0.0.1:8000/polls/ 檢視效果
以上是所有內容:
1. 建立Django專案
2. 連線mysql 並建立資料庫
3. 設計登入註冊介面並且能和資料庫互動進行判斷