Django用户模型——基于AbstractBaseUser重新定义用户模型

Django的设计哲学

学好一门武功,心法很重要。

学Django也是一样,要学好Django,首先要认可Django的设计哲学,如果对Django不认可,肯定是学不好的。

Django设计哲学:

  1. 松耦合:降低耦合度同时加强聚合度。

    例如:

    1)模板系统不需要知道用户的 Web 请求,数据库层不需要了解如果显示数据,而视图并不关心程序员所使用的模板系统。

    2)Django 应用中的 URL 不应该与底层 Python 代码耦合。将 URL 与 Python 函数名联系起来是一件很糟糕且丑陋的做法。(Flask说:你是在说我吗?=_=)

    1. 视图不应该关心开发人员使用哪种模板——甚至根本不用模板系统。
  2. 更少的代码

    Django应用的代码应该尽可能地精简。

    例如:缓存应该尽可能快。因此,围绕缓存后端的所有框架代码都应该保持在绝对的最小值,特别是对于“get()”操作。

  3. 快速开发

    Django 可以做到快速的 Web 开发。

  4. 不要重复地造轮子 (DRY)

    每个独特的概念或数据片应该存在且只存在于一个地方。避免冗余,做好标准化。

  5. 明确优于隐式

    字段不应该仅仅根据字段的名称来假定某些行为。这需要对系统有太多了解,并且容易出现错误。相反,其行为应该基于关键字参数,并且在某些情况下,应该基于字段的类型

  6. 一致性

    框架应在所有层级上保持一致。一致性适用于从低级(Python 的编码风格)到高级(使用 Django 的“经验”)的所有内容。

    缓存API应该为不同的缓存后端提供一致的接口。

  7. 从 HTML 中解耦

    模板系统不应该被设计成只能输出 HTML。它应该同样擅长

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值