一. 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 ,主键