Django绝对简明手册(写作中) TableOfContents
张沈鹏 电子科技大学 生物医学工程/计算机科学与技术 你看到的此文档,可能不是最新的, 欢迎访问我的 Blog 了解最新的变化. 也欢迎加入我的Google讨论群, 讨论一切关于 C++,STL,Boost, XML,CSS,Javascript,XUL Python,Django 的问题
[http://groups.google.com/group/go2program 我的Google讨论群] [http://zsp.javaeye.com 我的Blog]
-- Any Question,Please Email To [email protected]
更新:2007.6 beta
- Django版本:9.6
- Python版本:2.5
1. 序言
现在学的东西很容易忘记,写这篇文章的目的是能让我在需要时快速找回当时的感觉. Find Fun !
许多细节在<<Django Step by Step>>中有介绍,我不重复.
2. 辅助工具
文本替换专家2.5 : 修改站名,APP模块名时用得到
3. View函数
向浏览器输出html等的函数.
from django.http import HttpResponse import datetime #View函数的第一个参数总是HttpRequest对象 #offset是一个string,值由url正则表达式匹配而得。 def hours_ahead(request, offset): offset = int(offset) dt = datetime.datetime.now() + datetime.timedelta(hours=offset) html = "In %s hour(s), it will be %s." % (offset, dt) return HttpResponse(html)
4. Url匹配
(r'^now/plus\d+hours/$', hours_ahead)
可以匹配
/now/plus2hours/ /now/plus125hours/ /now/plus100000000000hours/
限制最多99小时,即只允许1个或2个数字
(r'^now/plus(\d{1,2})hours/$', hours_ahead)
常用正则表达式
. 任意字符 \d 任意数字 [A-Z] 从A到Z的任意字符(大写) [a-z] 从a到z的任意字符(小写) [A-Za-z] 从a到z的任意字符(大小写不敏感) [^/]+ 任意字符直到一个前斜线(不包含斜线本身) + 一个或多个前面的字符 ? 零个或多个前面的字符 {1,3} 1个到3个之间前面的字符(包括1和3)
5. 模版
插入变量
<p>Sincerely,<br />{{ 变量名 }}</p>
块语句
{%if xxx%} <p>内容1</p> {%else%} <p>内容2</p> {%endif%}
过滤器
{{ship_date|date:"F j, Y"}}
6. 常用函数一览
django.http.HttpResponse(string) 向浏览器直接输出字符串