python-Flask-类视图-蓝图

本文介绍了Python Flask框架中的类视图和蓝图。类视图允许基于类实现视图,具备继承和多态等优点。类视图通过`dispatch_request`方法处理请求,可以使用`MethodView`为不同HTTP方法定义不同处理函数。装饰器在类视图中通过`decorators`属性应用。蓝图则用于组织大型项目的结构,通过`register_blueprint`注册到应用。静态文件目录和模板文件可以通过`static_folder`和`template_folder`设置。`url_for`生成蓝图的URL,子域名配置需结合`SERVER_NAME`和蓝图的`subdomain`参数,以及DNS解析。
摘要由CSDN通过智能技术生成

类视图

视图分为函数视图和类视图
类视图可以基于相同的点写入类中可以基于类的优点,继承,多态,闭包,类视图跟函数视图不一样,写完类视图还需要通过

例:

app.add_url_ rule(‘路由地址’,view_func='类名.as_view('重写访问名字')')

标准类视图是继承自flask.views.View,并且在子类中必须实现dispatch_request方法,这个方法类似于视图函数。也要返回一个基于Response或者其子类的对象

例:

from flask.views import View
class PersonalView(View):
	def dispatch_request(self):
		return "返回参数"

# 类视图通过add_url_rule⽅法和url做映射
app.add_url_rule('/users/',view_func=PersonalView.as_view('persona
lview'))

基于类的调度方法视图

Flask 还提供了另一种视图flask.views.MethodView,对每个HTTP方法执行不同的函数(映射到对应的方法的小写的同名方法上去)

例:

1 class LoginView(views.MethodView):
2 # 当客户端通过get⽅法进⾏访问的时候执⾏的函数
3 def get(self):
4 return render_template("login.html")
5
6 # 当客户端通过post⽅法进⾏访问的时候执⾏的函数
7 def post(self):
8 email = request.form.get("email")
9 password = request.form.get("password")
10 if email == 'xx@qq.com' and password == '111111':
11 return "登录成功!"
12 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值