摘要:
mysqladmin -u root -p variables回车后出来一个大表,找到datadir这一行,后边的值就是数据库所在的路径了。
阅读全文
posted @ 2012-07-30 17:53
霍克依毒间
阅读(121)
推荐(0)
编辑
摘要:
Django数据层提供各种途径优化数据的访问,一个项目大量优化工作一般是放在后期来做,早期的优化是“万恶之源”,这是前人总结的经验,不无道理。如果事先理解Django的优化技巧,开发过程中稍稍留意,后期会省不少的工作量。一 利用标准数据库优化技术:传统数据库优化技术博大精深,不同的数据库有不同的优化技巧,但重心还是有规则的。在这里算是题外话,挑两点通用的说说:索引,给关键的字段添加索引,性能能更上一层楼,如给表的关联字段,搜索频率高的字段加上索引等。Django建立实体的时候,支持给字段添加索引,具体参考Django.db.models.Field.db_index。按照经验,Django建立
阅读全文
posted @ 2012-07-23 19:51
霍克依毒间
阅读(547)
推荐(1)
编辑
摘要:
最终实现效果:类似 国家 -> 省 -> 市 这样的多级分类联动下拉列表在各种项目中都经常用到,但是放狗搜了半天也没有一套Django完整的解决教程,最接近的是芝麻问答,但也只是在模型上简单描述了思路,离最终的完成还有一段距离。所以,只有自己动手了…思路:普通Html页面下多级联动的实现是通过对<OPTION>进行动作绑定,一旦发生数据改变就对子类别的下拉列表进行更新。Django于此相异的地方主要在于后台数据的传递,我们只要建立一个分类数据读取接口,然后将从数据库中读出的相关值生成JSON格式传递到前台页面即可。在数据库的设计上,我想尽量简单,只是用三个字段来实现无线
阅读全文
posted @ 2012-07-22 19:46
霍克依毒间
阅读(706)
推荐(0)
编辑
摘要:
__exact 精确等于 like ‘aaa’__iexact 精确等于 忽略大小写 ilike ‘aaa’__contains 包含 like ‘%aaa%’__icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqlite来说,contains的作用效果等同于icontains。__gt 大于__gte 大于等于__lt 小于__lte 小于等于__in 存在于一个list范围内__startswith 以…开头__istartswith 以…开头 忽略大小写__endswith 以…结尾__iendswith 以…结尾,忽略大小写__range 在…范围内__ye
阅读全文
posted @ 2012-07-22 19:45
霍克依毒间
阅读(882)
推荐(0)
编辑
摘要:
{{ name | lower }} 小写{{ my_text|escape|linebreaks }} 先转义文本到HTML,再转换每行到标签{{ bio | truncatewords:”30″ }}显示前30个字{{content|striptags}} 纯文本格式{{ pub_date | date:”F j, Y” }}{{ 123|add:”5″ }} 给value加上一个数值{{ “AB’CD”|addslashes }} 单引号加上转义号,一般用于输出到javascript中{{ “abcd”|capfirst }} 第一个字母大写{{ “abcd”|center:”50″ }
阅读全文
posted @ 2012-07-22 19:44
霍克依毒间
阅读(220)
推荐(0)
编辑
摘要:
当请求一张页面时,Django把请求的metadata数据包装成一个HttpRequest对象,然后Django加载合适的view方法,把这个HttpRequest 对象作为第一个参数传给view方法。任何view方法都应该返回一个HttpResponse对象。我们在本书中大量使用这两个对象;本附录详细解释HttpRequest和HttpResponse对象。HttpRequestHttpRequest代表一个来自uesr-agent的HTTP请求。大多重要的请求信息都是作为HttpRequest 对象的属性出现(see Table H-1). 除了session外,其他所有属性都是只读的。T
阅读全文
posted @ 2012-07-22 15:07
霍克依毒间
阅读(9074)
推荐(1)
编辑
摘要:
最近做一个项目,客户端要进行实时的邮件提醒,那就做一个ajaxlongpolling吧,因为没有太多的处理,用celery实在是大材小用。django的orm似乎对长连接不支持,在一个请求request中,无论读多少次数据库,queryset的值都不变,不知作者是出于什么考虑,将查询写死在了一次请求之中,没办法,只好用python了,python的cursor还是很好用的,果然,成功了。附部分代码t=20 while t>0: if answer_count!=int(count1) or mail_count!=int(count2): mail=S...
阅读全文
posted @ 2012-07-20 21:28
霍克依毒间
阅读(1633)
推荐(0)
编辑
摘要:
两个方法:1、aggregate直接返回聚合函数的值,如sum,avg等problems=Problem.objects.filter(user=user).aggregate(Sum('reply_not_read'))2、annotate,将聚合函数的值加入返回的QuerySet中Document.objects.annotate(popularity=Count('comments'))现在,这个中间QuerySet包含了与每个文件相关联的所有注释的计数值,我们就可以按这个字段进行排序了。由于我们希望把拥有最多注释的文档显示排在第一个,所以我们采用了降序,
阅读全文
posted @ 2012-07-19 20:37
霍克依毒间
阅读(608)
推荐(0)
编辑
摘要:
Generic Relation 并不是一个新出的东西,不过此前我一直没有使用过。现在为了将 SharePlat 中的某些功能独立出来,我开始使用它了。在django源码中的文档中并没有 Generic Relation 的说明,你可以从 django 的网站找到这一文档。在 文档中描述得很清楚。基本上有两种使用:GenericForeignKey和GenericRelation。比如我有一个Topic表,它用来保存讨 论主题。然后有一个Comment表,它用来保存回复。为了使用Comment通用,Comment并不直接保存到Topic的关系。这两个表的 Model可以为:from djang
阅读全文
posted @ 2012-07-18 17:04
霍克依毒间
阅读(2949)
推荐(0)
编辑
摘要:
这个算法有如下几个数据结构1 lft 代表左 left2 rgt 代表右 right3 lvl 代表所在的层次 level下面这个图是一个典型的结构我们先看一些使用方法1 查看整个树(A)有多少节点(包含自己)直接看根节点就行了 (right-left+1)/2 = (20-1+1)/2 = 10这个数有10个节点2 查看从节点A到E的路径select * from tree where lft between 1 and 6 and rgt between 7 and 20 order by lft得到的结果是A,B,D,E 这4个节点的数据,且按照访问路径的顺序如果2个节点之间不是上下级的
阅读全文
posted @ 2012-07-18 16:39
霍克依毒间
阅读(388)
推荐(0)
编辑