zoukankan      html  css  js  c++  java
  • 二十四:视图之基于调度方法的类视图的使用

    调度方法的视图基于flask.view.MethodView实现,根据请求方法的不同,执行类视图下对应的方法,只要是请求方法都可以定义:get、post、put、delete···

    from flask import Flask, render_template, views
    app = Flask(__name__)
    class LoginView(views.MethodView):
    def get(self): # get请求时执行此方法
    return '这是get请求的返回值'
    def post(self): # post请求时执行此方法
    return '这是post请求的返回值'
    app.add_url_rule('/login/', view_func=LoginView.as_view('login'))

    拿登录来说

    from flask import Flask, render_template, views, request
    app = Flask(__name__)
    class LoginView(views.MethodView):
    def get(self, error=None):
    return render_template('login.html', error=error)
    def post(self):
    username = request.form.get('username')
    password = request.form.get('password')
    return '登录成功' if username == 'user' and password == 'password' else self.get(error='用户名或密码错误')
    app.add_url_rule('/login/', view_func=LoginView.as_view('login'))

    也可以将渲染模板单独抽离出来

    from flask import Flask, render_template, views, request
    app = Flask(__name__)
    class LoginView(views.MethodView):
    def __render(self, error=None):
    return render_template('login.html', error=error)
    def get(self):
    return self.__render()
    def post(self):
    username = request.form.get('username')
    password = request.form.get('password')
    return '登录成功' if username == 'user' and password == 'password' else self.__render(error='用户名或密码错误')
    app.add_url_rule('/login/', view_func=LoginView.as_view('login'))
  • 相关阅读:
    网络 图片缓存
    大流量 网站
    20个 css3 html5 设计工具
    tomcat6.0 内存设置
    销售订单流程图
    android 自带 xml解析
    常见边框
    Expanding Cat5e LAN segments over 100 metres using OUTREACH Ethernet LAN extenders
    CPU频率和FSB瓶颈
    SmallNetBuilder's Wireless FAQ: The Essentials
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/11795456.html
Copyright © 2011-2022 走看看