在数据库有外键的时候,使用 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

一、字段配置(schema) schema.xml位于solr/conf/目录下,类似于数据表配置文件, 定义了加入索引的数据的数据类型,主要包括type、fields和其他的一些缺省设置。 1、先来看下type节点,这里面定义FieldType子节点,包括name,class,positionIncrementGap等一些参数。 name:就是这个FieldType的名称。 class:指向or

修改的文件 文件 作用(详情看代码) 备注 proj/__init__.py 导入celery.py中的app,来保证只要django启动就可以用这个app执行shared_task   proj/celery.py 创建一个celery app,以项目名命名   proj/settings.py 主要配置三项东西INSTALLED_APP,BROKER_URL和序列器配置 或者改你指定的配置文件

毫无疑问Django-haystack应该是Django集成全文检索引擎的最佳选择了,haystack提供了一套非常优雅灵活易用的API, 就像Django本身的ORM/QuerySet一样,使您的索引、搜索工作大大简化。 Django-haystack的文档在这里,是2.0beta的,大家可以去啃一下。 http://django-haystack.readthedocs.org/en/late

1 2 3 4 5 6 7 8 9