之前在网上看过一些介绍Django处理请求的流程和Django源码结构的文章,觉得了解一下这些内容对开发Django项目还是很有帮助的。所以,我按照自己的逻辑总结了一下Django项目的运行方式和对Request的基本处理流程。 一、Django的运行方式 运行Django项目的方法很多,这里主要介绍一下常用的方法。一种是在开发和调试中经常用到runserver方法,使用Django自己的web

Django 和其他 Web 框架的 HTTP 处理的流程大致相同,Django 处理一个 Request 的过程是首先通过中间件,然后再通过默认的 URL 方式进行的。我们可以在 Middleware 这个地方把所有 Request 拦截住,用我们自己的方式完成处理以后直接返回 Response。 1. 加载配置 Django 的配置都在 “Project/settings.py” 中定义,可以

缘由 我用的是linode的vps,系统为ubuntu14.04lts 当apt-get安装软件时,都会报一个相同的错误,如下 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset

在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能。本文通过一个简单的例子详解这两个函数的作用。虽然QuerySet的文档中已经详细说明了,但本文试图从QuerySet触发的SQL语句来分析工作方式,从而进一步了解Django具体的运作方式。 本来打算写成一篇单独的文章的,但是写完select_rel

Django的数据库层提供了很多方法来优化数据库访问的性能,这篇文章将集中介绍这方面的内容。 1.使用标准的数据库优化技术 在进行Django数据库访问性能优化之前,首先应该使用标准的数据库技术对其进行优化,比如给字段加索引,通过使用django.db.models.Field.db_index 来给一个Django模型类的字段加索引,设置这个属性字段的Field.db_index=True。 注

为什么要学习Go Go是未来的服务端语言— Tobias Lütke, Shopify。在过去的几年中,Golang逐步流行起来。 还有什么能比一门新语言让码农们疯狂呢? 因此,我开始学习了一段时间Golang,在这里我将告诉你为什么你也应该学习这种新语言。 在本文里我不会告诉你怎么写hello world。 我要分析计算机硬件软件的当前阶段,以解释为什么我们需要像Go这样的新语言? 硬件限制 摩

做得很糟糕的缓存会产生不良影响。尽量不要缓存数据;如果你真的需要,确保你的做法正确。 在计算机科学中只有两件艰难的事情:缓存失效和为事物命名。 – Phil Karlton 缓存? 为了确保我们在说同一件事情,当我说“缓存”,我指的是一种加快应用的实践,主要方式是通过记住之前的应答并使用它们对后续同样的请求进行应答,从而掩盖缓慢的依赖。 正如Phil Karlton在他著名的sound byte上

django包含了一个“信号分配器”使得当一些动作在框架的其他地方发生的时候,解耦的应用可以得到提醒。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者,这是特别有用的设计因为有些代码对某些事件是特别感兴趣的,比如删除动作。 为此,django提供了很多内置的信号,比如一些常用的功能(以几个在django.db.models.signal目录下的信号为例): save:pre_

django signal

django中得signals和操作系统(linux)中的signal完全是两会事,后者的signal是软件中断,提供一种处理异步事件得方法,信号是系统定义好的,可用作进程间传递消息得一种方法,而django中的信号只是一个普通的类,不能跨进程,看其代码更像一个。。。callback。。。 django signal类定义在django/dispatch/dispatch.py中 class Si

这篇文章几乎囊括了 Django 站点安全性的方方面面。 Security in Django This document is an overview of Django’s security features. It includes advice on securing a Django-powered site. ★ 此文概要性的介绍了 Django 安全  Cross site scri

1 2 3 4 5 6 7 8 9