接下来像其他的入门教程一样,从hello world开始Django的应用。再实现一个页面输出中,页面的内容是靠view function(视图函数)来生成。URL定义在URLconf中。
创建视图
在mysite目录下创建一个view.py文件用来包含程序的视图。
以hello word视图为例:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world")
创建URLconf
from django.conf.urls.defaults import *
from mysite.views import hello
urlpatterns = patterns('',
('^hello/$', hello),
)
访问 http://127.0.0.1:8000/hello/
就可以看到输出的内容。
在这部分,主要的知识点是正则表达式:
符号 匹配
. (dot) 任意单一字符
\d 任意一位数字
[A‐Z] A 到 Z中任意一个字符(大写)
[a‐z] a 到 z中任意一个字符(小写)
[A‐Za‐z] a 到 z中任意一个字符(不区分大小写)
+ 匹配一个或更多 (例如, \d+ 匹配一个或 多个数字字符)
[^/]+ 一个或多个不为‘/’的字符
? 零个或一个之前的表达式(例如:\d? 匹配零个或一个数字)
* 匹配0个或更多 (例如, \d* 匹配0个 或更多数字字符)
{1,3} 介于一个和三个(包含)之前的表达式(例如,\d{1,3}匹配一个或两个或三个数字)
正如我们看到的第一个视图例子里面看到的,一个视图功能必须返回一个HttpResponse.一旦做完,Django将完成剩余的转换Python的对象到一个合适的带有HTTP头和boday的web Response(例如,网页内容)
请求的过程总结如下:
1.进来的请求传入/hello/.
2.Django通过在ROOT_URLCONF配置来决定根URLconf.
3.Django在URconf中的所有URL模式中查找第一个匹配/hello/的条目
4.如果找到匹配,将调用相应的视图函数
5.视图函数返回一个HttpResponse
6.Django转换HttpResponse为一个合适的HTTP response,为Web page显示出来