1、^ 表示匹配字符串的最开始, $ 则是匹配字符串的最末
2、settings.py 包含了所有的相关配置,其中一个最重要的配置就是 ROOT_URLCONF ROOT_URLCONF 告诉Django哪个Python模块应该用作 URLconf。
3、当服务器收到一个HTTP请求以后,一个服务器特定的 handler 会创建 HttpRequest 并传递给下一个组件并处理。
这个 handler 然后调用所有可用的Request或者View中间件。这些类型的中间件通常是用来增强 HttpRequest 对象来对一些特别类型的requets做些特别处理。只要其中有一个返回 HttpResponse ,系统就跳过对视图的处理。如果出错,异常处理中间件(exception middleware) 可以帮忙。如果一个视图函数抛出异常,控制器会传递给异常处理中间件处理。如果这个中间件没有返回 HttpResponse ,意味着它不能处理这个异常,这个异常将会再次抛出。即便是这样,也不用担心。Django包含缺省的视图来生成友好的404 和 500 回应(response)。最后, response middleware 做发送 HttpResponse 给浏览器之前的后处理或者清除请求用到的相关资源。
4、
from django.conf.urls.defaults import *
from mysite.views import current_datetime, hours_ahead
urlpatterns = patterns('',
(r'^time/$', current_datetime),
(r'^time/plus/(\d{1,2})
/$', hours_ahead),
)
因为plus后面的参数需要作为视图函数的参数,所以使用括弧把他们括起来。
def hours_ahead(request, offset): offset = int(offset) dt = datetime.datetime.now() + datetime.timedelta(hours=offset) html = "<html><body>In %s hour(s), it will be %s.</body></html>" % (offset, dt) return HttpResponse(html)
5、用两个大括号括起来的文字(例如 {{ person_name }} )是 变量(variable); 被大括号和百分号包围的文本(例如 {% if ordered_warranty %} )是 模板标签(template tag)
6、在交互模式下,通常运行命令 python manage.py shell 来开始