• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

标签:Django

Django日志详解

Django对于日志输出的信息是很完善的,request的信息,setting配置,trackback的信息,一应俱全,足够我们调试了。但是在线上环境,如果让用户看到这些信息,是很不安全的(暴露代码)。所以在线上我们要关闭Debug,但是又不能扔掉这些调试信息,这就要用到日志了。Django使用Python内建的logging模块打印日志,但在Django中……

Django Channels Tutorial

最近在实现数据库运维平台时需要用到 WebSocket,而原生的 Django 又不支持 WebSocket,仅有 Django Channels 库支持 WebSocket。 正常情况下,Django 使用 HTTP 请求实现客户端和服务器端的通信: 1. 客户端发送 HTTP 请求到服务器端 2. Django 解析请求,提取 URL,并将其和 View……

Django跨站请求伪造(CSRF)保护

一、概述 CSRF(Cross Site Request Forgery)跨站点伪造请求,举例来讲,某个恶意的网站上有一个指向你的网站的链接,如果某个用户已经登录到你的网站上了,那么当这个用户点击这个恶意网站上的那个链接时,就会向你的网站发来一个请求,你的网站会以为这个请求是用户自己发来的。其实呢,这个请求是那个恶意网站伪造的。 举例:假如用户aa登录了银行……

Django存储emoji到MySQL

一、问题描述 目前来说,多数 MySQL 都是以 utf8 存储,注意 MySQL 的 utf8 和我们所说的传统 utf8 有点区别。MySQL 的 utf8 实际上不是真正的 UTF-8,MySQL 的 utf8 编码规定了最多只能有 3 个字节,而真正的 UTF-8 是每个字符最多四个字节。 MySQL 一直没有修复这个 bug,他们在 2010 年发……

Django模型QuerySet序列化

我们知道Django Model QuerySet API有很多方法都是返回QuerySet对象。但很多时候我们都需要对QuerySet进行一个序列化操作,以便于提供给其他服务使用。 比如查询出模型对象所有记录: >>> raw = Author.objects.all() >>> type……

Django时区问题

一、概述 当开启时区支持后,在内部使用时区相关的对象时,Django将时间用UTC格式存储到数据库中;并且在模板(templates)与表单(forms)中将时间转换为终端用户所在时区的时间。当你的用户生活在多个时区,并且你希望根据他们所在的位置显示当地时间时很有用。 另外即使你的网站仅在一个时区使用,仍然以UTC时间格式存储数据到数据库中是个好习惯。主要原……

Django视图装饰器

Django为视图提供了数个装饰器,用以支持相关的HTTP服务。 1. 允许的HTTP方法 django.views.decorators.http包里的装饰器可以基于请求的方法来限制对视图的访问。若条件不满足会返回 django.http.HttpResponseNotAllowed。 require_http_methods(request_method……

使用Django form或api上传图片

对于Web应用程序,以便能够上传文件(资料图片,歌曲,PDF格式,文字……),它通常是很有用的。下面来看看如何使用Django上传图片。在开始开发图片上传之前,请确保Python的图像库(PIL)已经安装。现在来说明上传图片,我们这里使用Django form结合models的形式上传图片,实现以下几个功能: Model和Model……

Django表单(Form)

HTML表单是网站交互性的经典方式,本章将简单介绍Web表单的基本概念和如何用Django对用户提交的表单数据进行处理。在Web开发中除非你计划构建的网站和应用只是发布内容而不接受访问者的输入,否则你将需要理解并使用表单。Django提供广泛的工具和库来帮助你构建表单来接收网站访问者的输入,然后处理以及响应输入。 一、HTML表单 在HTML中,表单的作用是……

Django上传下载文件

一、简单文件上传实现 利用Django实现文件上传并且保存到指定路径下,其实并不困难,可以不需要用到django的forms,也不需要django的models,就可以简单实现上传功能。下面简单实现一下。 当Django在处理文件上传的时候,文件数据被保存在request.FILES。需要特别注意的是,只有当request方法是POST,且发送request……

Django Admin

一、Django Admin Django最强大的部分之一是自动生成的Admin界面。它读取模型中的元数据来提供一个强大的、生产环境就绪的界面,使内容提供者能立即用它向站点中添加内容。下面看一下如何激活,使用和定制Django的管理界面。 概述 通过使用startproject创建的默认项目模版中,Admin已启用。下面的一些要求作为参考: 1、添加 ……

Django用户认证详解

一、概述 Django从开始就带有一个用户认证系统;它处理用户账号、组、权限以及基于cookie的用户会话。 Django认证系统同时处理认证和授权。简单地讲,认证验证一个用户是否它们声称的那个人,授权决定一个通过了认证的用户被允许做什么。这里的词语“认证”同时指代这两项任务。 认证系统包含: 用户(Users) 权限(Permissions):二元(是/……