随笔分类 - Python成长之路
菜鸟入门的故事
摘要:一、简单使用案例 总结: 从上边可以看到ModelForm用起来也是非常方便的,比如增加修改之类的操作。但是也带来额外不好的地方,model和model之间耦合了。如果不耦合的话,mf.save()方法也无法直接提交保存。 但是耦合的话使用场景通常局限用于小程序,写大程序就最好不用了
阅读全文
摘要:原生Ajax Jquery Ajax IFrame Ajax 如果发送的是普通的数据,比如用户简单的输入、选择的值,推荐使用Jquery ,其次用XMLHttpRquest对象,最次使用IFrame Ajax 如果发送的是文件的数据,比如用户上传的文件、图片等,IFrame Ajax首选
阅读全文
摘要:类型一:对于表单数据进行序列化 这时需要用到ErrorDict。 类型二:对于queryset类型进行序列化
阅读全文
摘要:一、钩子功能提供的数据验证 对于数据验证,django会执行 full_clean()方法进行验证。full_clean验证会经历几个步骤,首先,对于model的每个字段进行正则验证,正则验证通过后,然后进行clean()方法验证,这里的clean函数,就是钩子函数。通常是需要我们自己去书写。 分析
阅读全文
摘要:一、FBV和CBV 在Python菜鸟之路:Django 路由、模板、Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view 。 今天补充另外一种路由关系的写法:CBV,即:class base view , 也可以看做为面向
阅读全文
摘要:方式一:通过form表单中,html input 标签的“file”完成 方法二:利用XmlHttpRequest对象,发送原生的Ajax请求 (这种方法不能发送文件,需要依赖另外一个对象FormData) 1 # 方法 2 a. void open(String method,String url
阅读全文
摘要:Django的分页没有多少需要说的,有一点需要关注,在自定制分页功能的时候,需要通过python代码来生成每一页的a标签链接,这个时候需要关注一点:默认情况下,为了安全考虑,防范XSS攻击,Django会把后端生成的代码直接输出到前端,不会经过翻译为html语言。这个时候用户看到的界面就是<a hr
阅读全文
摘要:Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。 相当于我们创建了一个hook。 1. Django的内置信号 通常放置于和project同名的__init__.py中,在使用的时候,仅需注册指定账号,则在被触发时,
阅读全文
摘要:Django中提供了6种缓存方式: 开发调试 内存 文件 数据库 Memcache缓存(python-memcached模块) Memcache缓存(pylibmc模块) 1. 开发调试 2. 内存 3. 文件 4. 数据库 5. Memcache缓存(python-memcached模块) 6.
阅读全文
摘要:前言 在正式说Django中间件之前需要先了解Django一个完整的request的处理流程。我从其他网站扒了几张图过来。 图片一: 文字流程说明:如图所示,一个 HTTP 请求,首先被转化成一个 HttpRequest 对象,然后该对象被传递给 Request 中间件处理,如果该中间件返回了Res
阅读全文
摘要:Model中的F F 的操作通常的应用场景在于:公司对于每个员工,都涨500的工资。这个时候F就可以作为查询条件 F的使用场景基本就是这样,比较简单。 Model中的Q Q 的操作通常的应用场景在于:构造搜索条件。 普通filter搜索条件支持三种传参方式:1. 传具体参数 2.传字典 3.传Q对象
阅读全文
摘要:前言 CSRF,Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。他的产生由来是因为浏览器引起的。 比如用户访问A网站,A网站的html代码中有个提交
阅读全文
摘要:前言 Django中完成表单验证,常用的有两种方法: 一种是通过HTML + JS + Ajax实现。 另一种是通过Django自身的forms模块来生成相应个HTML标签来完成表单验证。这是本节着重讲的地方 第一种方法:html + ajax实现基本的login页面 <!DOCTYPE html>
阅读全文
摘要:前言 用过Django框架的童鞋肯定都知道,在创建完Django项目后,每个app下,都会有一个urls.py文件,里边会有如下几行: 上边看到导入的admin模块,就是本节所要说的主要内容 主要功能 功能1:提供数据库管理功能 基于admin模块,可以实现类似数据库客户端的功能,对数据进行增删改查
阅读全文
摘要:Ajax概述 Ajax就是通过 HTTP 请求加载远程数据。通常用于定制一些http请求来灵活的完成前端与后端的数据交互需求。 注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置。 JQuery Ajax之所以能发送http请求, 是调用了html中的XMLHttpRequest对象
阅读全文
摘要:Django路由系统 Django的路由系统让Django可以根据URI进行匹配,进而发送至特定的函数去处理用户请求。有点类似nginx的location功能。 Django的路由关系分为三种:普通关系、动态关系、分组分发。这三种关系都记录在urls.py中。 路由-普通关系 普通关系表示一个url
阅读全文
摘要:前言 DOM 是 Document Object Model(文档对象模型)的缩写,定义了访问和操作 HTML 文档的标准方法。DOM把网页和脚本以及其他的编程语言联系了起来。DOM属于浏览器,而不是JavaScript语言规范里的规定的核心内容。 DOM 将 HTML 文档表达为树结构。 DOM中
阅读全文
摘要:前言 JavaScript 是属于网络的脚本语言,被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。 编写 1. 存在形式 方式一:存在js文件中,即写入js文件中,在当前html中引用 提示:外部脚本不能包含 <script> 标签。 方式二:存在当前页中,即
阅读全文
摘要:前言 JQuery可以理解为是一个模块,里边封装了DOM以及JavaScript,可以方便的对JQuery对象进行操作。 版本 尽量选择1.X系统的Jquery版本,例如1.12.jquery.js。因为1.X系列的兼容性最好。 2.X系列的版本,不再考虑兼容IE9以下的版本。 JQuery操作 P
阅读全文
摘要:前面的章节中,Python的基本知识已经差不多介绍完了。本节介绍HTML相关的知识。需要着重声明的是,前端知识是非常非常重要的知识,以我实际项目经验来看,一个项目的瓶颈在设计和前端。设计就先不说了,前端出不来的时候,你就会发现,哪怕你设计再好,无图无真相,领导不鸟你,工资不涨薪,生活没激情,白富美都
阅读全文

浙公网安备 33010602011771号