django学习笔记——入门

本笔记是基于django1.2的,python的版本为2.6.4

开始前的准备

环境的安装我就不记录了,详细的教程看这个 http://djangobook.py3k.cn/2.0/
1:新建一个项目,在你需要新建的目录中执行django-admin.py startproject mysite 命令 这样就会在当前目录中生成一个mysite目录
2:运行开发服务器 进入mysite目录使用该命令 python manage.py runserver 这将会在端口8000启动一个本地服务器, 并且只能从你的这台电脑连接和访问

视图

新建一个views.py文件,用来做视图。其实用其他文件名也没关系,只不过方便自己以及别人阅读,建议使用views.py,代码如下

from django.http import HttpResponse

def hello(request):
return HttpResponse("Hello world")

HttpResponse的作用是输出html代码到用户浏览器,每个视图函数的第一个参数通常命名为request,这是一个触发这个视图、包含当前Web请求信息的对象,是类django.http.HttpRequest的一个实例。
一个视图就是Python的一个函数。这个函数第一个参数的类型是HttpRequest;它返回一个HttpResponse实例

URL配置

光有上面的视图是没有用的,需要通过URL映射才能起作用

from django.conf.urls.defaults import *
from mysite.views import hello

urlpatterns = patterns('',
('^hello/$', hello),
)

或者

from django.conf.urls.defaults import *
urlpatterns = patterns('',
('^hello/$', "mysite.views.hello"),
)

mysite为项目名 views为视图文件名,如果你用view_2.py做视图文件的话这里就使用mysite.view_2.hello
这里我们只是告诉 Django,所有指向 URL /hello/ 的请求都应由 hello 这个视图函数来处理。
^要求表达式对字符串的头部进行匹配,$符号则要求表达式对字符串的尾部进行匹配

URL正则表达式表

符号 匹配
. (dot) 任意单一字符
\d 任意一位数字
[A-Z] AZ中任意一个字符(大写)
[a-z] az中任意一个字符(小写)
[A-Za-z] az中任意一个字符(不区分大小写)
+ 匹配一个或更多 (例如, \d+ 匹配一个或 多个数字字符)
[^/]+ 一个或多个不为‘/’的字符
* 零个或一个之前的表达式(例如:\d? 匹配零个或一个数字)
* 匹配0个或更多 (例如, \d* 匹配0个 或更多数字字符)
{1,3} 介于一个和三个(包含)之前的表达式(例如,\d{1,3}匹配一个或两个或三个数字)

django处理URL的流程

1.进来的请求转入/hello/.
2.Django通过在ROOT_URLCONF配置来决定根URLconf.
3.Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。
4.如果找到匹配,将调用相应的视图函数
5.视图函数返回一个HttpResponse
6.Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来

获取URL传递来的参数

1:在URL中配置 [code](r'^time/plus/(\d{1,2})/$', hours_ahead),[/code](\d{1,2})为获取1-99之间的数字
2:视图

def hours_ahead(request, offset):
return HttpResponse(offset)

这里 offset就是获取到的值,当然也可以用其他参数名

相关文章

Leave a Reply