Django中的一些常用方法记录

receiver (Django signal)的使用模型相关:pre_save 对象 save 前触发post_save 对象 save 后触发pre_delete 对象 delete 前触发post_detele 对象 delete 后触发m2m_changed ManyToManyField 字段更新后触发请求相关:request_started 一个 request 请求前触发request_finished 一个 request 请求后触发bulk_update 的使用用于批量更新数据bulk_
阅读全文

Django Category分类视图

挖坑,待写
阅读全文

Python Django xadmin pip安装报错

环境:django 2.02 python3.7.4安装xadmin时发生如下报错以上报错的原因是 README.rst 这个文件 出现了 Unicode 解码错误,这个文件时没有什么用处的,可以新建一个同名的空白文件替换掉我们可以采用手动安装本地包 的方法安装下载 xadmin zip 安装包https://github.com/sshwsfc/xadmin/tree/django2然后手动替换zip安装包内的 README.rst 这个文件之后手动安装pip install 下载的zip安装包路径之后
阅读全文

Django 模型(model)中choices参数的使用

如果一个字段设置了choices属性,在模版中如果我要显示这个字段,比如用户的性别,只需设置2个参数选项。在django模版系统就会将它默认解析为一个下拉菜单,这样对于一个静态的下拉菜单式很方便的。**gender_choices参数定义一个元祖类型,里面有2个参数,一个是value值可以选择,如“M”,另外一个是显示的内容display_name,如“男”。编写完成后同步数据库数据xadmin展示在xadmin.py注册表信息,打开后台详情页面就可以看到下拉选项了
阅读全文

Django 内置的用户类AbstractUser与内置认证校验系统 学习笔记

这几天学习Django REST framework 时又用上了其内置的AbstractUser,正好复习整理一下,部分资源来自网络查找内置的用户类AbstractUserAbstractUser就是Django内置的一个 关于用户操作的类 ,它极大地方便了我们对model模型中对User用户类的设计。它的本质也就是一个封装好的父类,在设计用户模型的时候,继承它可以方便我们很多。引入代码models.pyAbstractUser的源码 查看他的内置字段内置认证校验系统Django自带的用户认证校主要就是认
阅读全文

django模型中auto_now和auto_now_add的区别

经常会在数据库表中碰到记录时间的需求,python的django自带的orm操作字段有auto_now和auto_now_add,这里记录一下他们的区别,方便以后查阅auto_now无论是你添加还是修改对象,时间为你添加或者修改的时间。auto_now_add为添加时的时间,更新对象时不会有变动。补充备注:创建类时:DateField表示年月日DateTimeField表示年月日,时分秒
阅读全文

Django中offset-naive 和 offset-aware 时间的计算

在使用Django时,默认是开启对多时区的支持的,在获取时间的时候会是如下形式:datetime.datetime(2019, 9, 14, 12, 23, 7, tzinfo=)通过ORM将当前的时间存入数据库后,便会有自动加入tzinfo。有时候,我们需要将该时间与当前时间做比较,例如计算差值,将数据库中的时间直接拿出来:这样做的话会报错,如下:问题就出在利用datetime.datetime.now()得到的当前时间是offset-naive的,这一个时间是没有tzinfo的,而另外一个从数据库取出
阅读全文

Django数据模型中有关于on_delete的使用

on_delete主要用于外键的删除相关常见的使用方式(设置为null):别的属性介绍:CASCADE:这就是默认的选项,级联删除,你无需显性指定它。PROTECT: 保护模式,如果采用该选项,删除的时候,会抛出ProtectedError错误。SET_NULL: 置空模式,删除的时候,外键字段被设置为空,前提就是blank=True, null=True,定义该字段的时候,允许为空。SET_DEFAULT: 置默认值,删除的时候,外键字段设置为默认值,所以定义外键的时候注意加上一个默认值。SET():
阅读全文