mothod_class_view

基于方法的类视图,是根据不同的mothod,调取不同的方法。mothod可以支持  post、get、put、delete

可以让代码更加简洁,不同的mothod可以放置到不同的方法里面

示例代码如下:

<form action="" method="post">
    <tbody>
        <tr>
            <td>用户名:</td>
            <td><input type="text" name="username"></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="text" name="password"></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" name="登录"></td>
        </tr>
    </tbody>
{% if error %}
    <p style="color: red">{{ error }}</p>
{% endif %}
</form>
#类视图写的顺序一定是在 app.add_url_rule上面
#类视图实现,基于调度返回,示例代码如下
# class LoginView(views.MethodView):
#     def get(self):
#         return render_template('login.html')
#
#     def post(self):
#         username = request.form.get('username')
#         password = request.form.get('password')
#         if username =='hebi12' and password =='123ss':
#             return '登录成功'
#         else:
#             return  render_template('login.html',erro='用户名或密码错误')
###也可以单独将login定义成私有方法
##实现代码如下
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')
        if username =='hebi12' and password =='123ss':
            return '登录成功'
        else:
            return  self.__render(error='用户名或密码错误')


app.add_url_rule('/login/',view_func=LoginView.as_view('login'))

猜你喜欢

转载自blog.csdn.net/hebi123s/article/details/82187651