沈阳格力专卖店 发表于 2015-4-26 07:20:03

[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']
  
页: [1]
查看完整版本: [python]pyramid 学习4 (views)