Django - 后台实现简单登陆总结

目录

登陆页面 temlates - login.html

前端样式 static - css、js、vue……

视图层操作传输的数据  views.py

ORM(Object Relational Mapping,全称对象关系映射)连接数据库


登陆页面 temlates - login.html

<form action="" method="post">
    <p>用户名:<input type="text" name="name" class="form-control"></p>
    <p >
        密码:<input type="password" name="pwd" class="form-control">
    </p>
<input type="submit" value="提交">

总结:

  • action -- 提交数据提交后台的三种写法
    1、http://127.0.0.1:8000/login
    2、/login/  ---- 推荐使用
    3、空 ---- 默认使用当前页面的路由传输,不推荐
  • method -- 两种提交请求方式
    get:获取页面的数据,携带的数据往往是是不重要的,且数据的大小存在限制
    post:提交数据的安全模式,不会讲数据放置在url内

前端样式 static - css、js、vue……

总结步骤:

  1. 手动创建一个static文件夹在根路径下
  2. 可放入一些静态文件,前端样式或者图片等素材文件
  3. 在setting内添加配置 STATIC_URL = '/static/'
  4. 在setting内添加配置(用来匹配第三部配置的路由,可以设置多条文件路径,查询时会从上到下依次查询)
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static'),
        # os.path.join(BASE_DIR, 'static2'),
    ]

视图层操作传输的数据  views.py

def login(request):

    if request.method == 'GET':
        return render(request, 'login.html')
    elif request.method == 'POST':
        print(request.POST)
        # name=request.POST.get('name')
        name = request.POST['name']
        pwd = request.POST.get('pwd')
        user=models.User.objects.filter(name=name,pwd=pwd).first()
        if user:
            return redirect('http://www.baidu.com')
        else:
            return HttpResponse('用户名密码错误')

总结:

  • request.method -- 判断前台提交过来的请求方式(GET 、POST)
  • request.POST  -- post 数据获取,返回字典
      request.POST [‘前台标签的name’]  -- 类字典的使用方式(不推荐)
      request.POST.get('name')  -- 推荐的指定取值方式,若同名取出同名的最后一个值
      request.POST.getlist('name') 
    -- 取出获取的列表,存在同名的所有值
  • from django.shortcuts import HttpResponse :数据从后台返回前台
  • from django.shortcuts import render:模板从后台返回前台,使用路径
    render(reguest, 'books.html', {'book_list': dic})
  • from django.shortcuts import redirect:路径的重定向,即页面的跳转
      

ORM(Object Relational Mapping,全称对象关系映射)连接数据库

操作数据库总结:

  1. setting内进行default配置
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '127.0.0.1',
        'PORT': 3306,
        'USER': 'root',
        'PASSWORD': 'Apassword',
        'NAME':'django',//数据库名字
    }
  2. app - __init__.py ------ 将默认的数据库方式转化为pymysql连接方式
    import pymysql
    pymysql.install_as_MySQLdb()
  3. models,py内创建表结构
     
    from django.db import models
    
    # 一个类就是一个表
    class User(models.Model):
        # 自增int类型,是主键
        id = models.AutoField(primary_key=True)
        # name 是一个varchar类型,长度是32
        name = models.CharField(max_length=32)
        pwd = models.CharField(max_length=32)
  4. pycharm终端实现数据库的迁移操作
    		1 python3 manage.py makemigrations   ----记录一下数据库的变化
    		2 python3 manage.py migrate          ----将变化同步到数据库中

猜你喜欢

转载自blog.csdn.net/qq_33961117/article/details/83861063