Python框架--Django

什么是MVC?
    低耦合,高内聚:模块与模块之间不能有太强依赖
    高可扩展性:对以后的不可期问题作出支持,向后兼容
    解耦

三个部分:1、面向操作数据库    2、接收请求处理    3、结果的呈现
Django默认使用SQLite数据库
Modle    View    Control

开发流程:
虚拟环境:workon,mkvirtualenv,revirtualenv,deactivate

项目的入口: manage.py
项目的配置:自建的底层(项目名) django-admin startproject 项目名
创建应用: python manage.py startapp 应用名
编写模型类: 继承models.Model       当输出对象时,会调用对象的str方法
生成数据表:激活模型:编辑 settings.py文件,将 应用名应用加入到installed_apps中
生成迁移文件:根据模型类生成sql语句    python manage.py makemigrations
执行迁移:执行sql语句生成数据表     python manage.py migrate
进入shell测试数据: python manage.py shell
管理操作:
开启服务器: python manage.py runserver ip:port 可以不写ip,默认端口为8000
                    默认端口是8000,可以修改端口         python manage.py runserver 8080
创建一个管理员用户python manage.py createsuperuser,按提示输入用户名、邮箱、密码
向admin注册应用名的模型:打开应用名/admin.py文件,注册模型:
        from django.contrib import admin
        from models import BookInfo
        admin.site.register(BookInfo)

查询集:
惰性执行:创建查询集不会带来任何数据库的访问,直到调用数据时,才会访问数据库    
返回查询集的方法,称为过滤器
* all()
* filter()
* exclude()
* order_by()
* values():一个对象构成一个字典,然后构成一个列表返回

返回单个值的方法
* get():返回单个满足条件的对象
    * 如果未找到会引发"模型类.DoesNotExist"异常
    * 如果多条被返回,会引发"模型类.MultipleObjectsReturned"异常
* count():返回当前查询的总条数
* first():返回第一个对象
* last():返回最后一个对象
* exists():判断查询集中是否有数据,如果有则返回True

字段查询:

查询filter(属性__比较符=值)
F对象
* 可以使用模型的字段A与字段B进行比较,如果A写在了等号的左边,则B出现在等号的右边,需要通过F对象构造
list.filter(bread__gte=F('bcommet'))
* django支持对F()对象使用算数运算
list.filter(bread__gte=F('bcommet') * 2)
* F()对象中还可以写作“模型类__列名”进行关联查询
list.filter(isDelete=F('heroinfo__isDelete'))

Q对象
* 过滤器的方法中关键字参数查询,会合并为And进行
* 需要进行or查询,使用Q()对象
* Q对象(django.db.models.Q)用于封装一组关键字参数,这些关键字参数与“比较运算符”中的相同
from django.db.models import Q
list.filter(Q(pk_ _lt=6))
* Q对象可以使用&(and)、|(or)操作符组合起来
* 当操作符应用在两个Q对象时,会产生一个新的Q对象
list.filter(pk_ _lt=6).filter(bcommet_ _gt=10)
list.filter(Q(pk_ _lt=6) | Q(bcommet_ _gt=10))
* 使用~(not)操作符在Q对象前表示取反
list.filter(~Q(pk__lt=6))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值