Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29956852
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Python/Ruby

2009-05-11 08:06:55

1.所谓的视图函数(或 视图 ),只不过是一个接受 Web 请求并返回 Web 响应的 Python 函数。实际上,该响应可以是一份网页的 HTML 内容、一次重定向、一条 404 错误、一份 XML 文档、一幅图片,或其它任何东西。视图本身包含返回该响应所需的任意逻辑。
请看代码实现:

from django.http import HttpResponse

import datetime

 

def current_datetime(request):#接受一个WEB请求

    now = datetime.datetime.now()

    html = "It is now %s. " % now

    return HttpResponse(html) #返回一个WEB响应


整理第一个WEB项目
1.django-admin.py startproject mysite  得到我们的工程文件。
2.
manage.py startapp hello                               创建Web应用。
3.开始编写视图函数
# Create your views here.
from django.http import HttpResponse
import datetime
def current_datetime(request):
    now = datetime.datetime.now()
    html = "It is now %s"%now
    return HttpResponse(html)
4.配置URL映射关系
urlpatterns = patterns('',
    # Example:
    # (r'^mysite/', include('mysite.foo.urls')),
      (r'^time/$','hello.views.current_datetime'),
注意好书写的内容呀!别写错了哦!
5.将WEB服务跑起来 python manage.py runserver
6.输入URL测试

整理第二个WEB项目
编写动态的URL进来!
前面的步骤跟第一个项目一样的。
关键就是我们的URL配置中得修改成如下的:
(r'^time/plus/(\d{1,2})/$', 'hello.views.hours_ahead'),

就是:我们现在是模仿 URL带参数的请求。
上面的URL表示的是time/plus/1  time/plus/99 都会映射到hello.views.hours_ahead这个视图函数上去的!

现在来编写视图函数:
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)
后面的offset就是接收到的ULR请求过来的参数了。在程序中可以获取到然后在程序中应用出来!



阅读(832) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~