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']

     

  • 相关阅读:
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    log4net写txt日志
    easyui上传文件
    让 SVN (TortoiseSVN)提交时忽略bin和obj目录
    C#进阶系列——WebApi 跨域问题解决方案:CORS
    js控制radio选中
    sql注入
    修改类不用重启Tomcat加载整个项目
    URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别
    ActiveMQ 使用场景
  • 原文地址:https://www.cnblogs.com/bluefrog/p/2219739.html
Copyright © 2011-2022 走看看