输出json
from pyramid.view import view_config
@view_config(renderer='json')
def hello_world(request):
return {'content':'Hello!'}
或
config.add_view('myproject.views.my_view', renderer='json')
默认的render(string)
from pyramid.response import Response
from pyramid.view import view_config
@view_config(renderer='string')
def hello_world(request):
return {'content':'Hello!'}
输出
{'content': 'Hello!'}
JSONP Renderer
__init__.py
from pyramid.config import Configurator
config = Configurator()
config.add_renderer('jsonp', JSONP(param_name='callback'))
views.py
from pyramid.view import view_config
@view_config(renderer='jsonp')
def myview(request):
return {'greeting':'Hello world'}
Chameleon Template Renderers(*.pt *.txt)
http://chameleon.repoze.org/
config.add_view('myproject.views.hello_world',
name='hello',
context='myproject.resources.Hello',
renderer='myproject:templates/foo.pt')
config.add_view('myproject.views.hello_world',
name='hello',
context='myproject.resources.Hello',
renderer='myproject:templates/foo.txt')
Mako Template Renderer(*.mak *.mako)
http://www.makotemplates.org/
config.add_view('myproject.views.hello_world',
name='hello',
context='myproject.resources.Hello',
renderer='foo.mak')
config.add_view('myproject.views.hello_world',
name='hello',
context='myproject.resources.Hello',
renderer='mypackage:templates/foo.mak')
pyramid.response.Response
from pyramid.view import view_config
@view_config(name='gone', renderer='templates/gone.pt')
def myview(request):
request.response.status = '404 Not Found'
return {'URL':request.URL}
Cookie
def view(request):
request.response.set_cookie('abc', '123')
return request.response
Header
request.response
response_content_type
response_headerlist // [('Set-Cookie', 'abc=123'), ('X-My-Header', 'foo')].
response_status
response_charset
response_cache_for
本文详细介绍了如何利用Pyramid框架构建RESTful API,并通过JSON、JSONP、Chameleon模板和Mako模板进行响应数据的渲染。文章还探讨了如何设置cookie和响应头部,以及如何实现404错误页面。通过实例代码,读者可以学习到如何在Web开发中高效地使用Pyramid框架。
7915

被折叠的 条评论
为什么被折叠?



