Django + mysql 實現登錄、驗證、更新功能
第一步:前期的配置
1.對項目的註冊
在setting裏面,進行新項目的註冊
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'book.apps.BookConfig',
]
2.對靜態文件的註冊
在根目錄的setting裏
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),) # 添加靜態文件
3.對接口的註冊
在根目錄的URL裏面
from django.conf.urls import url
from django.contrib import admin
from book import views
urlpatterns = [
url('admin/', admin.site.urls),
url('login/', views.login), # 對登錄的接口進行註冊
url('register/', views.register), # 對註冊的接口進行註冊
]
4.在view.py裏面定義接口函數的實現
實現登錄、註冊、和更新的操作
# view.py 裏面導入http協議的包,導入model模型的user類,成功引入了表
from django.http import HttpResponse
# Create your views here.
from book.models import User
# 實現賬號的登錄功能
def login(request):
# select
# user = User(username='xm', password='123456')
# user.save()
# return HttpResponse('hehe')
username = request.GET.get('username')
password = request.GET.get('password')
result = '註冊失敗'
try:
user = User.objects.get(username = username)
if user:
if user.password == password:
return HttpResponse('登錄成功')
else:
return HttpResponse('密碼錯誤')
else:
return HttpResponse('賬號不存在') # 賬號不存在,無法顯示出來
except:
pass
return HttpResponse('網絡錯誤')
# 實現賬號的註冊功能
def register(request):
# 獲取客戶端通過get請求發送過來的數據
username = request.GET.get('username')
password = request.GET.get('password')
phone = request.GET.get('phone')
# insert into
# user = User(username ='xiaoming',password = '123456')
result = '註冊失敗'
#try:
user = User.objects.filter(username=username)
if user:
result = '用戶已存在'
else:
User.objects.create(username=username, password=password)
result = '註冊成功'
#except:
#pass
return HttpResponse(result)
# 實現賬號更新的功能
def update(request):
# 獲取客戶端通過get請求發送過來的數據
uid= request.GET.get('uid')
password= request.GET.get('password')
result='高強傻逼'
try:
user = User.objects.filter(uid=uid)
User.objects.update(password=password)
result = '高強優秀'
except:
pass
return HttpResponse(result)
5.在model裏面創建用戶列表,並提供給views.py裏面的接口使用
from django.db import models
# Create your models here.
class User(models.Model):
# 創建主鍵 創建username varchar
uid = models.AutoField(primary_key=True)
username = models.CharField(max_length=32)
password = models.CharField(max_length=32)
phone = models.CharField(max_length=11)
6.在static目錄文件裏面的HTML文件調用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="http://127.0.0.1:8000/login" method="get"> # 此處靜態文件調用接口,顯示接口的功能
username:<input type="text" name="username"> # 接口改變,此處也需要改變
password:<input type="text" name="password">
<input type="submit">
</form>
</body>
</html>