Django –02
一、创建项目和app之后的一些命令及操作:
1. 保存数据,例如:
stu = Student
stu.name = 'xxx'
stu.sex = '1'
stu.save()
2. 创建超级管理员用户及密码
python manage.py createsuperuser
3. ORM – 对象关系映射,翻译机
4. 模型字段(models.xxx)
CharField: 字符串
max_length: 长度
BooleanField: 布尔类型
DateField: 年月日, 日期
add_now_add: 第一次创建的时候赋值
add_now: 每次修改的时候赋值
DatetimeField: 年月日时分秒
add_now_add: 第一次创建的时候赋值
add_now: 每次修改的时候赋值
AutoField: 自动增长
DecimalField():
max_digits: 总位数
decimal_places: 小数后多少位
models.DecimalField(max_digits=3, decimal_places=1): 表示最大为99.9的数
TextField: 存文本信息, 图片,长字符串
IntegerField: 整数
FloatField: 浮点数
FieldField:文件上传字段
ImageField; 上传图片
upload_to '': 指定上传图片的路径
5. 模型参数
default: 默认
null: 设置是否为空(True/False),针对数据库中该字段是否可以为空
blank: 设置是否为空(True/False), 针对表单提交该字段是否可以为空
primary_key: 创建主键
unique: 是否唯一(True/False)
6. objects对象 – 通过 模型.objects 来实现数据的CRUD操作
获取学生列表所有学生:
SQL: select * from student
Django: 模型.objects.all()
获取信息:
filter(过滤条件)
get(过滤条件)
区别:
get --> 返回一个满足条件的对象,没有满足条件的则直接报DoesNotExit的异常;如果查询结果有多个数据的话,就报MulitiObjectsReturned的异常
filter --> 返回满足条件的结果
first(): 返回第一条数据
last(): 返回最后一条数据
count(): 求和
gt: 大于
gte: 大于等于
lt: 小于
lte: 小于等于
F()/Q():
from django.db.models import F,Q
F(): 允许Django在未实际链接数据的情况下具有对数据库字段的值的引用
Q(): 对对象进行复杂查询, 并支持&(and), |(or), ~(not)操作符
二、创建项目、app、访问本地网页并连接数据库操作
1. 进入隔离环境新建项目及app
1) activate
2) django-admin startproject 项目名称
3)python manage.py startapp app名称
2. 进入pycharm编辑,更改环境变量
3. 在settings.py中新增app名称、新增数据库信息以及更改时区
4. 项目中urls文件内新增students app的urls路径,并在students app中新建urls并填写内容
5. 进入models.py文件,建立数据库模型
6. 新建Directory文件–templates,更改setting中的DIRS并新建HTML文件,关联数据库
7. 进入views文件,建立数据库,网页的连接
8. 项目中init.py文件中新增语句,引入pymysql模块,建立数据库
9. 迁移数据库
python manage.py makemigrations
python manage.py migrate
10. 启动服务,打开网页
python manage.py runserver
11. 填写内容,点击提交,将数据写入数据库