django AnonymousUser
摘要:AnonymousUser对象class models.AnonymousUser django.contrib.auth.models.AnonymousUser是一个实现django.contrib.auth.models.User接口的类,具有以下差异: id始终是None。username
阅读全文
Django 重写用户模型
摘要:AUTH_USER_MODEL = 'myapp.MyUser' django——重写用户模型 Django内建的User模型可能不适合某些类型的项目。例如,在某些网站上使用邮件地址而不是用户名作为身份的标识可能更合理。 1.修改配置文件,覆盖默认的User模型 Django允许你通过修改setti
阅读全文
Django在根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete'
摘要:在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:TypeError: __init__() missing 1 required positional argument: 'on_delete'举例说明:user=m
阅读全文
cookie and session
摘要:简介 HTTP协议 是短连接、且状态的,所以在客户端向服务端发起请求后,服务端在响应头 加入cokie响应给浏览器,以此记录客户端状态; cook是来自服务端,保存在浏览器的键值对,主要应用于用户登录; 参数介绍 1、max_age=1 :cookie生效的时间,单位是秒 2、expires:具体过
阅读全文
django中使用mysql数据库的事务
摘要:django中怎么使用mysql数据库的事务 Mysql数据库事务: 在进行后端业务开始操作修改数据库时,可能会涉及到多张表的数据修改,对这些数据的修改应该是一个整体事务,即要么一起成功,要么一起失败。 Django中对于数据库的事务,默认每执行一句数据库操作,便会自动提交。我们需要在保存数据库操作
阅读全文
Django中使用mysql数据库并使用原生sql语句操作
摘要:Django自身默认使用sqlite3这个轻量级的数据库,但是当我们开发网站时,sqlite3就没有mysql好,sqlite3适合一些手机上开发使用的数据库。 准备的软件mysql数据库,版本5.7及以上。navicat,(可选的)。使用navicat主要是简化我们对数据库的操作。没有也一样。安装
阅读全文
Django2.0 path和re_path reverse使用
摘要:Django2.0发布后,很多人都拥抱变化,加入了2的行列。但是和1.11相比,2.0在url的使用方面发生了很大的变化,下面介绍一下: 一、实例 先看一个例子: 注意: 匹配例子: /articles/2005/03/ 将匹配第三条,并调用views.month_archive(request,
阅读全文
布署
摘要:布署 当项目开发完成后,需要将项目代码放到服务器上,这个服务器拥有固定的IP,再通过域名绑定,就可以供其它人浏览,对于python web开发,可以使用wsgi、apache服务器,此处以wsgi为例进行布署 服务器首先是物理上的一台性能高、线路全、运行稳定的机器,分为私有服务器、公有服务器 私有服
阅读全文
celery
摘要:celery 情景:用户发起request,并等待response返回。在本些views中,可能需要执行一段耗时的程序,那么用户就会等待很长时间,造成不好的用户体验,比如发送邮件、手机验证码等 使用celery后,情况就不一样了 解决:将耗时的程序放到celery中执行 点击查看celery官方网站
阅读全文
全文检索
摘要:全文检索 全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理 haystack:全文检索的框架,支持whoosh、solr、Xapian、Elasticsearc四种全文检索引擎,点击查看官方网站 whoosh:纯Python编写的全文搜索引擎,虽然性能比不上sp
阅读全文
发送邮件
摘要:发送邮件 Django中内置了邮件发送功能,被定义在django.core.mail模块中 发送邮件需要使用SMTP服务器,常用的免费服务器有:163、126、QQ,下面以163邮件为例 注册163邮箱itcast88,登录后设置 在新页面中点击“客户端授权密码”,勾选“开启”,弹出新窗口填写手机验
阅读全文
验证码
摘要:验证码 在用户注册、登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻业务服务器、数据库服务器的压力 手动实现验证码 接下来的代码不要求手动写出来,因为这种代码在网上可以搜到很多 安装包Pillow3.4.1 点击查看PIL模块API,以下代码中用到了Imag
阅读全文
CSRF
摘要:CSRF CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。
阅读全文
HTML转义
摘要:HTML转义 模板对上下文传递的字符串进行输出时,会对以下字符自动转义 示例 打开booktest/views.py文件,创建视图zhuanyi 打开booktest/urls.py文件,配置url 在templates/booktest/目录下创建zhuanyi.html 运行服务器,在浏览器中输
阅读全文
模板继承
摘要:模板继承 模板继承和类的继承含义是一样的,主要是为了提高代码重用,减轻开发人员的工作量 典型应用:网站的头部、尾部信息 父模板 如果发现在多个模板中复制一段代码,那就应该把这段内容定义到父模板中 标签block:用于在父模板中预留区域,留给子模板填充差异性的内容,名字不能相同 为了更好的可读性,建议
阅读全文
URLconf
摘要:URLconf 浏览者通过在浏览器的地址栏中输入网址请求网站,对于Django开发的网站,由哪一个视图进行处理请求,是由url匹配找到的 配置 在test3/settings.py中通过ROOT_URLCONF指定url配置 打开test3/urls.py可以看到默认配置 在test3/urls.p
阅读全文
视图
摘要:视图 视图就是python中的函数 视图一般被定义在“应用/views.py”文件中,此例中为“booktest/views.py”文件 视图的第一个参数必须为HttpRequest实例,还可能包含下参数如 通过正则表达式组获得的关键字参数 通过正则表达式组获取的位置参数 视图必须返回一个HttpR
阅读全文
查询集
摘要:查询集 查询集表示从数据库中获取的对象集合,在管理器上调用过滤器方法会返回查询集,查询集可以含有零个、一个或多个过滤器 过滤器基于所给的参数限制查询的结果 从Sql的角度,查询集和select语句等价,过滤器像where和limit子句 两大特性 惰性执行:创建查询集不会访问数据库,直到调用数据时,
阅读全文
设计模型
摘要:定义模型类 模型类被定义在“应用/models.py”文件中,此例中为“booktest/models.py”文件 模型类必须继承自Model类,位于包django.db.models中 提示:对于重要数据使用逻辑删除 定义属性 Django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类
阅读全文
创建项目
摘要:创建图书管理项目 在django中,项目的组织结构为一个项目包含多个应用,一个应用对应一个业务模块 示例:创建项目的名称为test1,完成“图书-英雄”信息的维护,创建应用名称为booktest 创建项目 在当前用户的某个目录下创建项目,这样不会发生权限问题 此处在/home/Desktop/pyt
阅读全文