}

Django静态文件的处理

对于静态文件,Django主要是分成了两种,一是Media,另一个是Static. - static 主要是css,js等等文件; 这些相对来说是提供给用户的,即这些文件(非严格讲)没有与用户进行互动,开发者产生这些文件为访问用户服务,用户只是单纯的享受应用服务。 - media: 用户与应用程序进行交互的文件(用户上传的文件等等)。 对于静态文件的处理,如果是生产环境,且用n

阅读全文

django的序列化

一直有个需求,将Django的Model中的字段和值转为字典或者json数据,每次都是笨方法,一个字段一个字段装到新字典,不通用,所以就写了这篇文章。 Django的Model类有一个Model _meta ,它是Django ORM的核心,允许系统其它部分,比如查询,表单,admin等去了解每一个model。我们通过每个Model类的_meta属性访问。 比如,我现在

阅读全文

Django中Request类详解

Django主要利用可调用对象WSGIHandler来处理请求响应。 WSGIHandler会根据获得的environ构造WSGIRequest请求类,这里首先说一下environ。 environ是非常重要的变量,它包括所有的用户信息,即它负责接收所有的用户请求参数。environ包含 CGI 环境变量,环境变量在[CGI环境变量](https://tools.ietf.org/html

阅读全文

Django的CSRF介绍

1、CSRF介绍 CSRF(Cross-Site Request Forgery,跨站点伪造请求)是一种网络攻击方式,该攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在未授权的情况下执行在权限保护之下的操作,具有很大的危害性。具体来讲,可以这样理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望

阅读全文

忘记密码后,重置密码的逻辑

逻辑: 主要是借鉴了Django内置的重置密码的逻辑。 1、如果忘记密码,用户填写注册时的邮箱; 2、根据邮箱,得到用户User object,并生成uidb64和token(用户加密); 3、将得到的重置密码链接发到邮箱; 4、用户根据得到的链接填写新密码; 1,2步骤 主要是根据注册邮箱得到重置密码链接。源代码: def

阅读全文

Django分页的实现原理

本文主要介绍Django中的分页是如何实现的,首先介绍分页的使用方法,然后介绍其实现原理。 1、使用方法: VIew视图: class CategoryArticleListView(BaseMixin,ListView): template_name = 'category.html' paginate_by = NUM_PER_PAGE

阅读全文

Django中遇到的一个html转义的问题

1、问题描述:有些页面上的字体突然变细,变红。 ![](http://i.imgur.com/DHZfYDL.png) 而正常的应该是这样: ![](http://i.imgur.com/JHCxOJn.png) 起初我想不明白为什么会出现这种现象?因为同样的标签,同样的CSS,怎么会出现不同的样式呢? 2、发现问题原因 通过审查元素,发现,在该标签外

阅读全文

基于类的视图的介绍

Django之前一直用的视图函数,但是视图函数有一定的限制,不易扩展或者自定义。而基于类的视图就是为了解除视图函数的限制。它使用Mixin等基类使得开发更加便捷。 在基于类的视图中,我们不必像视图函数中那样,针对不同的请求方法,写分支语句。而是只需要重构实例方法即可。 视图函数中处理HTTP GET 的代码看上去将像: from django.http import Htt

阅读全文

Django中基于类的视图的实现原理

之前写基于类的函数,但并没有真正弄懂其实现原理,因此今天就主要分析一下基于类的视图是如何实现的, 首先我的Django博客中一个视图源码: class IndexView(ListView): template_name = 'index.html' paginate_by = NUM_PER_PAGE context_object_name = 'a

阅读全文

request.get_all_path()

登录

Sign Up

Forgotten Password