Django + mysql 實現登錄、驗證、更新功能

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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章