Django的视图和URL配置

新建一个Django项目exercise。

在exercise文件夹内新建一个views.py文件。

对views.py文件和urls.py进行编辑,下面引用几个DjangoBook里的例子。

views.py文件:

#coding:utf-8

from django.http import HttpResponse
import datetime

#hello视图:用来显示"Hello World"
def hello(request):
    return HttpResponse("Hello World")

#current_datetime视图:用来显示当前时间
def current_datetime(request):
    now = datetime.datetime.now()
    html = "<html><body>It is now %s.</body></html>" % now
    return HttpResponse(html)

#hours_ahead视图:显示当前时间+一段时间
def hours_ahead(request, offset):
    try:
        offset = int(offset)
    except ValueError:
        raise Http404()
    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)

urls:py文件:

#coding:utf-8
from django.conf.urls.defaults import patterns, include, url
from exercise.views import *

urlpatterns = patterns('',
    (r'^hello/$', hello),
                       
    #不同的URL可以使用同样的视图函数(专业叫法:URL配置的松耦合原则)
    (r'^time/$', current_datetime),
    (r'^current_time', current_datetime),

    (r'^time/plus/(\d{1,2})/$', hours_ahead),
)

views.py中的request是类django.http.HttpRequest的一个实例,它用来触发一个视图,包含当前Web请求信息。

你可能感兴趣的:(django,视图,URL配置)