1. 程式人生 > 其它 >快速用Django+mysql搭建網站_3_登入註冊介面&正確性判斷

快速用Django+mysql搭建網站_3_登入註冊介面&正確性判斷

上一篇:快速用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. 設計登入註冊介面並且能和資料庫互動進行判斷