首页 > 其他 > 详细

flask之CBV模式

时间:2019-07-12 22:06:45      阅读:113      评论:0      收藏:0      [点我收藏+]

技术分享图片

flask_cbv.py

 1 ‘‘‘
 2 flask中的CBV模式:
 3     (1)导入views模块: from flask import views
 4     (2)定义类,继承views.MethodView类: class 类名(views.MethodView)
 5     (3)在类中定义函数名为允许的请求方式的小写形式,进行函数定义,如def get(self):...
 6     (4)添加路由规则:
 7         CBV:app.add_url_rule(rule,endpoint=‘‘,view_func=类名.as_view(name=‘‘))
 8         FBV:app.add_url_rule(rule,endpoint=‘‘,view_func=函数名))(直接替代@app.route()方式)
 9 
10         参数:
11             rule 请求路径
12             endpoint设置mapping路由映射函数rule:{endpoint:func}
13             view_func路由映射的视图函数或者类(as_view()中的name参数设置当前路由映射函数名,唯一指定,不设置endpoint自动为name值)
14 
15 
16 ‘‘‘
17 from flask import Flask, views, render_template, send_file, request, session
18 
19 app=Flask(__name__)
20 app.secret_key=wertyui234567gf!@#$%^&*(
21 
22 class Login(views.MethodView):
23     # methods = [‘get‘, ‘post‘, ‘head‘, ‘options‘,‘delete‘, ‘put‘, ‘trace‘, ‘patch‘]#可以在类中指定允许的请求方式,不指定会根据定义的函数进行选择
24     def get(self):
25         return render_template(login.html)
26     def post(self):
27         username=request.form.get(username)
28         pwd=request.form.get(pwd)
29         if username == yang and pwd == 123456:
30             session[username] = yang
31             return 登录成功!
32         else:
33             return 账号或密码有误!!!!
34 #路由映射视图函数
35 app.add_url_rule(/login,view_func=Login.as_view(name=login))
36 
37 if __name__ == __main__:
38     app.run()

lohin.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>logine</title>
 6 </head>
 7 <body>
 8 <form action="" method="post">
 9     用户名:<input type="text" name="username">
10     密码:<input type="password" name="pwd">
11     <input type="submit" value="提交">
12 </form>
13 </body>
14 </html>

 

flask之CBV模式

原文:https://www.cnblogs.com/open-yang/p/11178069.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!