摘要: Django的settings文件部分源码分析 在编写Django项目的过程中, 其中一个非常强大的功能就是我们可以在settings文件配置许多选项来完成我们预期的功能, 并且这些配置还必须大写, 否则就不会生效. 此外, Django自身还有一套更详细的配置, 那Django是如何做到用户配置了 阅读全文
posted @ 2019-10-01 09:21 yscl 阅读(244) 评论(0) 推荐(0) 编辑
摘要: Auth模块 Auth模块是Django自带的功能强大的用户认证模块. 在网站的开发中, 用户管理系统的设计也是一个麻烦的问题, 此时我们需要实现包括用户的注册, 登录, 注销, 认证, 密码管理等功能. Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系 阅读全文
posted @ 2019-09-30 17:17 yscl 阅读(467) 评论(0) 推荐(0) 编辑
摘要: forms组件 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确... 如果用户输入的内容有错误就需要在页面上相应的位置显示对应的 阅读全文
posted @ 2019-09-30 16:01 yscl 阅读(510) 评论(0) 推荐(0) 编辑
摘要: Django总结目录 1. "django框架简介及自定义简易版框架" 2. "路由层" 3. "视图层" 4. "模板层" 5. 模型层 5.1 "基本操作" 5.2 "多表操作" 5.3 "进阶相关" 6. 组件 6.1 "ajax" 6.2 "分页器" 6.3 "form组件" 6.4 "au 阅读全文
posted @ 2019-09-30 10:41 yscl 阅读(238) 评论(0) 推荐(0) 编辑
摘要: Django自带的分页器组件不太好用, 这里选择自定义一个分页器组件. 自定义分页器 使用分页器的例子 views.py books.html 最后的效果 阅读全文
posted @ 2019-09-30 10:08 yscl 阅读(188) 评论(0) 推荐(0) 编辑
摘要: AJAX简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”. 即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据). AJAX的特点: 异步交互 阅读全文
posted @ 2019-09-30 08:38 yscl 阅读(502) 评论(0) 推荐(1) 编辑
摘要: 模型层进阶相关 选择合适的层级工作 要在对应的 (MVC) 做对应的事. 例如计算 count, 在最低的数据库 level 里是最快的 (如果只需要知道此记录是否存在的话,用 会更快). 但要 : queryset 是 lazy 的,所以有时候在 higher level (例如模板) 里控制 q 阅读全文
posted @ 2019-09-29 20:40 yscl 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 多表操作 多表操作一般会涉及到数据库中常见的3种关系 一对一 OneToOne 多对多 ManyToMany 一对多 ForeignKey 接下来就是对初始的模型的准备 模型表创建 以图书管理系统为例, 可以很好的展现上面的三种关系. 上述表关系的简单分析: 书籍与作者是多对多的关系, 这里选择让D 阅读全文
posted @ 2019-09-28 20:14 yscl 阅读(285) 评论(0) 推荐(0) 编辑
摘要: orm 在我们常说的MVC模型或MTV模型中, ORM操作就占了很大的比重, 其中的模型(M)就代表的对数据库的操作. 没有ORM, 我们只能通过pymysql等模块操作数据库, 然后再传入原生的sql语句字符串来实现对数据库的增删改查, 而这就导致一个问题, 我们作为程序员, 不是专业的DBA, 阅读全文
posted @ 2019-09-28 08:16 yscl 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 中间件源码分析 中间件简介 中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。 中间件是帮助我们在视图函数执 阅读全文
posted @ 2019-09-26 17:36 yscl 阅读(351) 评论(1) 推荐(1) 编辑