BLOG
Enjoy when you can, and endure when you must.
APR 08, 2013/Django
Grappelli + FileBrowser 基本安装
1.安装:pip install django-grappellipip install django-filebrowser注意:    1.grappelli和filebrowser的安装必须注意顺序;    2.如果使用的django版本为1.3,则应分别安装grappelli 2.3.9版本以及filebrowser 3.4.3版本(最新版本均不支持django1.3)。2.添加APPs:打开工程配置文件settings.py,在INSTALLED_APPS中增加:    ...  &nb...
APR 07, 2013/Django
South - syncdb的替代
功能:South是django的一个的第三方App,能够检测对models的更改并同步到数据库,弥补了syncdb的一些不足,是很好的替代工具。安装:1. 使用pip安装:    pip install South2. 加入到工程中:    打开settings.py,在INSTALLED_APPS中加入'south'3. 执行syncdb:    python manage.py syncdb基本使用:1. 对于新建工程,在创建app之后,可以执行:    python manage.py ...
MAR 09, 2013/Django
Django Form 验证过程
最近在Django的Form上使用很频繁,于是花了些时间对其更深入的了解了下,以下和大家分享一下Form表单的验证过程。Django的表单验证过程分为很多步:1. 各Field数据类型验证与转换:表单验证的第一步则是从widget中获取原始数据,并根据Field所接受的数据类型进行转换,如果在此过程中发生错误,会抛出ValidationError异常。2. 各Field的内置clean()方法验证:这一步会根据先前的验证结果返回数据,如果验证通过则返回clean data,如果失败则抛出异常。3. clean_<fieldname>()方法:这一步是用户自定义的验证步骤,用以...
MAR 08, 2013/Django
深入Django ORM的继承关系
本文为转载内容,查看来源。ORM中通常将对象引用映射到外键,但是对于继承,关系数据库中没有自然有效的方法来对应。从数据存储的角度来看,在映射继承关系时,可以采用几种方式(参考JPA中的InheritanceType.定义):1. 使用单个表,在JPA中称作SINGLE_TABLE。整个继承树共用一张表。使用唯一的表,包含所有基类和子类的字段;2. 每个具体类一张表,在JPA中称作TABLE_PER_CLASS。这种方式下,每张表都包含具体类和继承树上所有父类的字段。因为多个表中有重复字段,从整个继承树上来说,字段是冗余的;3. 每个类一张表,继承关系通过表的JOIN操作来表示。在JPA中...
MAR 05, 2013/Django
Django Model中基于时间的筛选(续)
在昨天的写《Django Model中基于时间的筛选》一文中,我写到可以使用published_date__range来提取某个时间段内的所有数据,那就想到这样一个需求:如果要筛选出某月内的所有数据应该怎么做呢?如果采用写死的方式,如:start_date = datetime.date(2012, 12, 1)end_date = datetime.date(2012, 12, 31)blog.objects.filter(published_date__range=(start_date, end_date))这样的局限在于如果月中的天数是不定的,我们必须基于给定的月份找到其头和尾。...
MAR 04, 2013/Django
Django Model中基于时间的筛选
在Django的Model中,可以基于时间对数据进行筛选,并且可以有很多的筛选方法供选择使用。1.published_date__gt:筛选出大于某个时间的所有数据。time_point = datetime.datetime.now() - datetime.timedelta(days=-1)result = blog.objects.filter(published_date__gt=time_point)2.published_date__gte:筛选出大于等于某个时间的所有数据。  time_point = datetime.datetime.now() - date...
JAN 29, 2013/Django
去除HTML标签
针对一些用户输入的情况,例如用户评论等,经常需要考虑去除其中的HTML标签。在Django中有很多方法,并且都很简单。import the strip_tagsfrom django.utils.html import strip_tags>>> html = '<p>paragraph</p>'>>> print html'<p>paragraph</p>'>>> stripped = strip_tags(html)>>> print...
DEC 20, 2012/Django
pinax新建项目报错
今天在用pinax创新新项目时触发了以下异常:File "D:\Python27\lib\site-packages\pinax\core\management\commands\setup_project.py", line 211, in install_reqs    pip.call_subprocess([AttributeError: 'module' object has no attribute 'call_subprocess'出现该问题是因为使用了新版本的pip,而在新版本的pip中,原pip.c...
DEC 15, 2012/Django
Django的Context和RequestContext
     t = Template('My name is {{ name }}.') c = Context({'name': 'Stephane'}) t.render(c)Django的模板渲染中,Context可以用来传递数据,一个Context是一系列变量和值的集合,它和Python的字典有点相似。context在Django里表现为Context类,在django.template...
DEC 14, 2012/Django
修改数据库但在django中获取无效的解决办法
在django中,我想使用一个线程去定期查询MySQL中的表、获得最新的数据并做一些处理,但却遇到一个麻烦事,初次运行能成功,而之后就再也获取不到最新的数据,即使在表中已经执行了插入。开始一直以为是objects.filter缓存的问题,纠结了半天无济于事,于是又从各方收集资料,折腾了一番终于发现这其实是MySQL默认的事务模式所引起的。解决方案如下:      @transaction.commit_manually def flush_transaction():     transac...
<< < 1 2 3 4 >