Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7585849 建立时间:2006年5月29日 |

| |
[Django]翻译www.djangobook.com之第十一章:生成非HTML内容 软件技术
lhwork 发表于 2007/1/28 15:59:55 |
The Django Book:第11章 生成非HTML内容
通常当我们谈到开发网站时,我们都是指生成一些HTML
当然也有很多HTML之外的东西,我们使用web来发布所有的内容,不仅仅是HTML
到目前为止我们都是在关注通常的HTML生成,但是本章将绕道来看看使用Django生成其它类型的内容
你可以使用Django方便的内建工具来生成一些常见的非HTML内容:
RSS/Atom聚合
Sitemaps,可以被Google,Yahoo和微软的搜索引擎搜索
JSON和XML序列化的模型(通常为AJAX方法使用)
我们将谈到上面的每一个工具,但是首先来看看一些基础
基础
还记得第3章的内容吗?
视图方法或者简短来说视图是简单的Python方法,它得到Web请求并返回Web应答,这个应答可以是Web页面的HTML内容,
或者是一个重定向,或者是404错误,或者是一个XML文档,或者是一个image,...,或者是其它的任何东西
更正式的,Django视图方法必须接受一个HttpRequest实例作为它的第一个参数并且返回一个HttpResponse实例
从视图返回非HTML内容的关键在于HttpResponse类,特别是mimetype构造函数的参数,通过改变mimetype我们可以指示
浏览器我们返回的不同类型的对象
下面是一个简单的例子,我们来看看一个返回PNG图像的视图,为了让事情保持简单,我们只是从硬盘读一个文件:
代码from django.http import HttpResponse def my_image(request): image_data = open("/path/to/my/image.png", "rb").read() return HttpResponse(image_data, mimetype="image/png")
尽管如此,一个更高效的解决方案是从一个cron脚本调用ping_google(),或者一些其它的日程任务,这个方法给Google
的服务器发送一个HTTP请求,所以你可能不想每次你调用save()都招致网络过度
下一步是什么?
下一步,我们将继续深入挖掘Django带给你的俏皮的内建工具,第12章会看到提供用户自定义站点的工具:session,
users和authentication
前进! |
|
回复:翻译www.djangobook.com之第十一章:生成非HTML内容 软件技术
hideto(游客)发表评论于2007/1/30 10:30:37 |
我已经发布了www.djangobook.com第十二章的翻译,你感觉抄过来吧,祝你好运! |
|
» 1 »
|