7-8 连接数据库做一个登录操作-数据库反映射数据模型到models

一、连接数据库做一个登录操作

依据上篇博客,在polls文件夹下继续操作

1. 在model.py中添加数据模型

from django.db import models

# Create your models here.
class StudentInfo(models.Model):
    Stu_id=models.CharField(primary_key=True,max_length=20)
    stu_name=models.CharField(max_length=20)
    stu_pwd=models.CharField(max_length=20)

2. 将数据模型迁移到数据库

  • 数据库要提前登录,再执行下面的命令
python manage.py makemigrations polls
#(polls是应用明)
python manage.py migrate
  • 第一条命令对应的结果
    image
  • 第二条命令对应的结果
    image

3. 确保数据库里面存在数据

image

4. 在view.py中编写判断逻辑

image

点击查看代码
from django.http import HttpResponse
from django.shortcuts import render
from .models import *
# Create your views here.

def toLogin_view(request):
    return render(request,'login.html')
def Login_view(request):
    ## 7 实现数据库判断
    u=request.POST.get('user','') #用post实现保密性
    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("请输入正确的账号或密码")

5. 运行代码

  • 启动服务器
python manage.py runserver

二、 数据库反映射数据模型到models

  • 现在数据库中创建对应的表
    image
    image

  • 进行数据库表到models.py文件的映射,控制台执行下面的命令

python manage.py inspectdb>polls/models.py  #polls表示应用名

image

posted @ 2022-11-27 16:58  Trouvaille_fighting  阅读(62)  评论(0)    收藏  举报