flask html 得到文本框 input的内容_Flask干货:Flask视图高级技术(二)

afbdd2182e053aebe3e0d4c57040e7a3.png

类是编程的重要思想,也是继承相同部分的主要方式。之前我们用extends继承模板,那Flask中有没有类继承呢?

当然有,类视图就是!

之前我们接触的视图都是函数,所以一般简称为视图函数。其实视图函数也可以基于类来实现,类视图的好处是支持继承,可以把一些共性的东西放在父类中,其他子类可以继承。

编写完类视图需要通过app.add_url_rule(url_rule, view_func)来进行注册,Flask类视图一般分为标准类视图基于调度方法的类视图

一、标准类视图

标准类视图的特点:

l 必须继承flask.views.Views

l 必须实现dispatch_request方法,但凡遇到请求过来,都会执行这个方法,这个方法的返回值相当于之前的视图函数,必须返回Response或者子类的对象,或者是字符串、元组。

l 必须通过app.add_url_rule(url_rule, view_func)来做URL与视图的映射,view_func参数需要使用as_view类方法转换。

l 如果指定了endpoint,那么在使用url_for反转时就必须使用endpoint指定的那个值;如果没有指定endpoint,那么就可以使用as_view(视图名称)中指定的视图名称来作为反转。

如果一个网站有首页、注册页和登陆页面,每个页面要求放置一个同样的对联广告,使用类视图函数如何实现呢?

新建login.html、register.html和index.html及app.py文件。app.py文件内容如下:

from flask import Flask,render_template,views

app = Flask(__name__)
class Ads(views.View):
    def __init__(self) :
        super().__init__()
        self.context = {
                'ads':'这是对联广告!'
                }
class Index(Ads) :
 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值