zoukankan      html  css  js  c++  java
  • [python]pyramid 学习4 (views)

    Defining a View Callable as a Function

    from pyramid.response import Response

    def hello_world(request):
    return Response('Hello world!')

     

    Defining a View Callable as a Class

    from pyramid.response import Response

    class MyView(object):
    def __init__(self, request):
    self.request = request

    def __call__(self):
    return Response('hello')

     

    HTTP异常 (pyramid.httpexceptions)

    抛出401的第一种方法 

    from pyramid.httpexceptions import HTTPUnauthorized

    def aview(request):
    raise HTTPUnauthorized()

    抛出401的第二种方法

    from pyramid.httpexceptions import exception_response

    def aview(request):
    raise exception_response(401)
    403
    pyramid.httpexceptions.HTTPForbidden.

    404
    pyramid.httpexceptions.HTTPNotFound

    自定义异常

    class ValidationFailure(Exception):
    def __init__(self, msg):
    self.msg = msg

    from pyramid.view import view_config
    from helloworld.exceptions import ValidationFailure

    @view_config(context=ValidationFailure)
    def failed_validation(exc, request):
    response = Response('Failed validation: %s' % exc.msg)
    response.status_int = 500
    return response

     

    header重定向

    from pyramid.httpexceptions import HTTPFound

    def myview(request):
    return HTTPFound(location='http://example.com')

     

    获取POST数据

    def myview(request):
    firstname = request.params['firstname']
    lastname = request.params['lastname']

    def myview(request):
    # the .decode('utf-8') will break below if there are any high-order
    # characters in the firstname or lastname
    firstname = request.params['firstname'].decode('utf-8')
    lastname = request.params['lastname'].decode('utf-8')

     

    复习一下 route中获取数据(GET)

    request.matchdict['xxxx']

     

  • 相关阅读:
    过往总结
    查找光标处的标识符
    【转】Linux 内核开发 Eclipse内核开发环境搭建
    【转】Writing linux kernel code in Eclipse
    【转】 Linux内核升级指南
    [转]Ubuntu 11.04 安装后要做的20件事情
    【转】vim 替换操作大全
    【转】移动硬盘安装ubuntu
    重置 Winsock 目录
    【转】让Firefox像vim一样操作
  • 原文地址:https://www.cnblogs.com/bluefrog/p/2219739.html
Copyright © 2011-2022 走看看