django登录

一. form表单使用注意事项:
    1. action="" 提交地址, method='post' 请求方式
    2. input 标签要有name属性才能被获取
    3. 有一个input的类型是submit 或者button 用于提交表单数据
    tip:  注释掉settings.py中 MIDDLEWARE(中间件)的 'django.middleware.csfr.CsrfViewMiddleware'就可以提交post请求(暂时)


   GET 和POST的区别:
        1.GET 获取一个页面
            login/?user=alex&pwd=alex  //信息暴露
            在Django中获取数据
                    request.GET {}  // 一个对象
                    request.GET['user'] ,获取标签中name是user的值
                    request.GET.get('user')
        2.POST 提交数据
            数据不显示在url中, 存放在请求体
            在Django中获取数据
                request.POST {}
                request.POST['user']
                request.POST.get('user')


二. APP: 项目 相当于老男孩里面分  python学院---(appPython), linux 学院---(applinu.),
    创建APP: 1. 命令 python manage.py startapp app名称
             2. pycharm
                tools----run manage.py task
                输入指令: startapp app名称

    注册app:
            [INSTALLED_APPS] 列表中添加
                'app01'
                建议写全: 'app01.apps.App01Config'

    ORM介绍和使用:
          1. 使用mysql数据库
                 1. 创建mysql数据库  # create database 数据库名称
                 2. 在 settings.py中配置
                     DATABASES = {
                        'default': {
                            'ENGINE': 'django.db.backends.mysql',   # 数据库引擎  mysql
                            'NAME': 'day58',                        # 数据库名称 day58
                            'HOST': '127.0.0.1',                    # 数据库ip地址
                            'PORT': 3306,                           # 数据库端口号
                            'USER': 'root',                         # 数据库登录用户名
                            'PASSWORD': '',                         # 数据库登录密码
                                    }
                                   }
                    a django默认支持sqlite,mysql, oracle,postgresql数据库。
                         <1> sqlite
                                django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 。
                        引擎名称:django.db.backends.sqlite3
                         <2> mysql
                                引擎名称:django.db.backends.mysql

                    b mysql驱动程序
                       MySQLdb(mysql python)
                       mysqlclient
                       MySQL
                       PyMySQL(纯python的mysql驱动程序)
                    (pychart连接数据库, 须下载驱动程序,有提示)

                 3. Django默认使用python 2版本的数据库支持模块, 需要告知它使用pymysql模块连接
                        在与settings.py同级目录下的__init__.py中写下面的代码
                            import pymysql
                            pymsql.install_as_MySQLdb()

                 4. 在APP目录下的models.py中写类(models.Model)  # 定义数据库表
                        class User(models.Model)    # 继承
                            name = models.CharField(max_length=32)
                            pwd = models.CharField(max_length=32)

                 5. 在数据库生产表: 执行命令
                    python manage.py makemigrations   # 生成py文件,准备创建数据库表
                    python manage.py migrate    # 执行数据库语句, 生成实际的表

          2. orm 的操作:
            1.all 获取所有的数据 # 结果是个对象列表
                    models.User.objects.all() ——》 对象列表

            2. get 获取一条数据库(没有或者是存在多条报错)
                models.USer.objects.get(field=要查询的值) ---->>>对象  # get里面放关键字

            3. filter 获取满足条件的所有的对象
                models.User.objects.fileter(field1='alex', field2='alex')  ----->>对象列表 # 逗号表示&与条件

            4. odels.User.objects.field  field字段的值
                    odels.User.objects.name     # name字段的值
                    odels.User.objects.pwd      # pwd字段的值
                    odels.User.objects.id (pk)  # id ,主键
原文地址:https://www.cnblogs.com/tcpblog/p/10027982.html