1、創建一個html文件用於簡單的網頁註冊demo 2、創建一個html文件用於簡單的網頁登錄demo 3、創建一個Django項目,並將剛纔的兩個html文件放入template模板文件夾中 4、打開Django項目下預設生成的urls.py文件,進行一些業務功能的編輯 5、運行整個Django項 ...
1、創建一個html文件用於簡單的網頁註冊demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>註冊</title> </head> <body>
<!--表單域,action用於將獲取的到信息提交到後臺地址-->
<form action="save" method="get"> <span> 用戶:<input type="text" name="username"> </span> <br> <span> 密碼:<input type="password" name="password"> </span> <br> <span> <input type="submit" name="submit1" value="註冊"> </span> </form> </body> </html>
2、創建一個html文件用於簡單的網頁登錄demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登錄</title> </head> <body> <form action="query" method="get"> <span> 用戶:<input type="text" name="username"> </span> <br> <span> 密碼:<input type="password" name="password"> </span> <br> <span> <input type="submit" name="submit1" value="登錄"> </span> </form> </body> </html>
3、創建一個Django項目,並將剛纔的兩個html文件放入template模板文件夾中
4、打開Django項目下預設生成的urls.py文件,進行一些業務功能的編輯
"""Django01 URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/2.1/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: path('', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin from django.urls import path from django.shortcuts import render from django.shortcuts import HttpResponse import pymysql #登錄頁面 def login(request): #指定要訪問的頁面,render的功能:講請求的頁面結果提交給客戶端 return render(request,'login.html') #註冊頁面 def regiter(request): return render(request,'regiter.html') #定義一個函數,用來保存註冊的數據 def save(request): has_regiter = 0#用來記錄當前賬號是否已存在,0:不存在 1:已存在 a = request.GET#獲取get()請求 #print(a) #通過get()請求獲取前段提交的數據 userName = a.get('username') passWord = a.get('password') #print(userName,passWord) #連接資料庫 db = pymysql.connect('127.0.0.1','root','123','db2') #創建游標 cursor = db.cursor() #SQL語句 sql1 = 'select * from user1' #執行SQL語句 cursor.execute(sql1) #查詢到所有的數據存儲到all_users中 all_users = cursor.fetchall() i = 0 while i < len(all_users): if userName in all_users[i]: ##表示該賬號已經存在 has_regiter = 1 i += 1 if has_regiter == 0: # 將用戶名與密碼插入到資料庫中 sql2 = 'insert into user1(username,password) values(%s,%s)' cursor.execute(sql2,(userName,passWord)) db.commit() cursor.close() db.close() return HttpResponse('註冊成功') else: cursor.close() db.close() return HttpResponse('該賬號已存在') def query(request): a = request.GET userName = a.get('username') passWord = a.get('password') user_tup = (userName,passWord) db = pymysql.connect('127.0.0.1','root','123','db2') cursor = db.cursor() sql = 'select * from user1' cursor.execute(sql) all_users = cursor.fetchall() cursor.close() db.close() has_user = 0 i = 0 while i < len(all_users): if user_tup == all_users[i]: has_user = 1 i += 1 if has_user == 1: return HttpResponse('登錄成功') else: return HttpResponse('用戶名或密碼有誤') urlpatterns = [ path('admin/', admin.site.urls),#系統預設創建的 path('login/',login),#用於打開登錄頁面 path('regiter/',regiter),#用於打開註冊頁面 path('regiter/save',save),#輸入用戶名密碼後交給後臺save函數處理 path('login/query',query)#輸入用戶名密碼後交給後臺query函數處理 ]
5、運行整個Django項目,訪問相應的url
資料庫數據情況:
後臺狀態信息
再次查看資料庫數據:
6、再次進行登錄操作,打開登錄的url
測試一個用戶名錯誤情況: