- 浏览: 63744 次
- 性别:
- 来自: 广东省惠州市
最新评论
-
wl6179:
很不一样的视角,谢谢yzjklove的解说!
Python学习笔记(实用技巧) -
wl6179:
貌似不错哦,如能上传一张效果图就完美了~
在Django中实现验证码 -
wl6179:
谢谢,受教了!
[Django学习]事务处理 -
fire01312:
这个不错!
如何根据已有数据自动产生Model
文章列表
为大漫使用django进行开发已经有几个月了,总算没白白浪费时间,经过断断续续的开发,终于发布了内部1.0的版本,可以在线看漫画。
现在总结一下其中关于django的实践,里面提到的技术点很片面不是很全,但对于大漫的项目来说是刚刚好。如果觉得哪里不是很清楚请自行google找资料学习,这里也没有对django的基础进行说明。有问题可以给我留言
1)添加模块
url.py中配置/comic下的请求都转到comic模块进行处理。
需要在comic模块中添加一个url.py文件,添加如下语句到项目的url.py中
(r'^comic/', include('bigcomic.comic.urls') ...
一旦 数据模型 创建完毕, 自然会有存取数据的需要.本文档介绍了由 models 衍生而来的数据库抽象API,及如何创建,得到及更新对象.
贯穿本参考, 我们都会引用下面的民意测验(Poll)应用程序:
class Poll(models.Model):
slug = models.SlugField(unique_for_month='pub_date')
question = models.CharField(maxlength=255)
pub_date = models.DateTimeField()
expire_date = models.Date ...
在项目中用到验证码,懒得去找,自己随便写了一个:
views.py:
def get_check_code_image(request,image='media/images/checkcode.gif'):
import Image, ImageDraw, ImageFont, random
im = Image.open(image)
draw = ImageDraw.Draw(im)
mp = md5.new()
mp_src = mp.update(str(datetime.now())) ...
Python 使元编程成为可能,不过每个版本的 Python 都有一些细微的区别(并且不是完全兼容),这使我们实现元编程的道路变得更加崎岖。一类函数对象的使用由来已久,同样还有一些技术用于探索和实现魔术般的属性。在版本 2.2 中,Python 增加了一种很有帮助的定制元类机制,但是其代价就是令用户绞尽脑汁。最近,在 2.4 版本中,Python 增加了 “decorator” ,这是适于执行大部分元编程的最新方式 —— 也是到目前为止对用户最友好的方式。
少劳多得
Decorator 与 Python 之前引入的元编程抽象有着某些共同之处:即使没有这些技术,您也一样可以实现它们所提供的功能。 ...
set也是python里一个重要类型,有时候还是蛮好用的。详细文档和说明可以用help(set) 查看其说明和方法。
下面来点简单的小例子说明把。
>>> x = set('spam')
>>> y = set(['h','a','m'])
>>> x, y
(set(['a', 'p', 's', 'm']), set(['a', 'h', 'm']))
再来些小应用。
>>> x & y # 交集
set(['a', 'm'])
>>> x | y # 并集
set(['a', 'p' ...
最近使用Django开发了大卫粘贴系统, 了解到了Django内嵌的强大的URL机制. 它的强大在于2个方便, 一个是灵活的url配置, 另外一个就是url的可逆机制.下面, 我们就来了解下Django的URL机制.
1. 灵活的配置
大家都知道, Django的url使用的正则匹配的方式, 这种方式有好也有坏, 好的地方是, 可以匹配出任何你想要的url, 不好的地方就是, 任何一个url都需要手工的去配置, 不能根据Model或者App进行自适配, 就像一般的MVC框架一样, 同一个controller下都有统一的url规则.
基本规则
一条简单的url配置如下:
(r'^regist ...
在我以前介绍 Python 2.4 特性的Blog中已经介绍过了decorator了,不过,那时是照猫画虎,现在再仔细描述一下它的使用。
关于decorator的详细介绍在 Python 2.4中的What's new中已经有介绍,大家可以看一下。
如何调用decorator
基本上调用decorator有两种形式
第一种:
@A
def f ():
...
这种形式是decorator不带参数的写法。最终 Python 会处理为:
f = A(f)
还可以扩展成:
@A
@B
@C
def f ():
...
最终 Python 会处理为:
f = A(B ...
[Django学习]事务处理
其实事务处理已经在 django 中提供了,但是很奇怪好象没有过多的“笔墨”来说明这个事。今天看了看,真是非常简单。具体的在 django 所带的 transaction 文档中。
django对于事务的支持分几个层次。
1. 什么都不管的话,它是使用 autocommit 方式。也就是在执行了 save() 或 delete() 之后就自动提交了。
2. 通过增加 Transaction 中间件来实现自动的事务支持。我感觉这个是非常方便的做法。使用它,你首先需要在 settings.py 中增加一个中间件的设置:
MIDDLEWARE_CLASSES = ...