首页 > 其他分享 >flask引入bootstrap5

flask引入bootstrap5

时间:2023-08-19 13:55:39浏览次数:42  
标签:form render flask app bootstrap import 引入 bootstrap5

一个案例
1. 初始化一个flask app
from flask import Flask, render_template,request
from flask_wtf import FlaskForm, CSRFProtect
from wtforms.fields import *
from flask_bootstrap import Bootstrap5

# 初始化一个flask app
app = Flask(__name__)

# 设置秘钥,没有的话,会失败。作用是???
app.secret_key = 'dev'
csrf = CSRFProtect(app)

# 注意这里
bootstrap = Bootstrap5(app)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2. 基于wtf,做一个Form
其实就是继承FlaskForm类,然后创建字段。

class ContactForm(FlaskForm):
name = TextAreaField("Name of Student")
email = EmailField("Input your Email")
password = PasswordField("Input your Password")
submit = SubmitField("提交")
1
2
3
4
5
3. 做一个视图函数,并将 Form 传入模板
# 这个视图函数是传入Form的
@app.route('/', methods=['GET'])
def contact():
form = ContactForm() # 先实例化Form
return render_template('contact.html', form=form)


# 顺别做一个表格提交后,跳转的视图
@app.route('/out', methods=['GET', 'POST'])
def out():
print(request.form)
return '123'
1
2
3
4
5
6
7
8
9
10
11
12
4. 模板
注意看,下面这个模板,有几点:

{{ bootstrap.load_css() }} 这句话表示冲bootstrap中导入css。如果没有这行,那么渲染会失败。
{% from 'bootstrap5/form.html' import render_form %} 这句话表示导入render_form方法,用于form的渲染。
{{ render_form(form) }} 这句话表示对form执行渲染,form的内容来源于app 视图函数传入。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Bootstrap-Flask Demo Application</title>
{{ bootstrap.load_css() }}
</head>
<body>

{% from 'bootstrap5/form.html' import render_form %}

<main class="container">
{{ render_form(form) }}
</main>

</body>
</html>

标签:form,render,flask,app,bootstrap,import,引入,bootstrap5
From: https://www.cnblogs.com/catfeel/p/17642385.html

相关文章

  • 软件测试|测试平台开发-Flask 入门:编写第一个简单 Web 应用
    简介Flask是一个轻量级的PythonWeb框架,它使得创建Web应用变得简单快捷。相比于Django框架,它具有以下的优点:轻:Flask是一个轻量级的Web框架,使用Python语言编写易:较其他同类型框架更为灵活、轻便且容易上手快:小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务......
  • 1 CSS的引入方式
    1CSS的引入方式CSS样式有三种不同的使用方式,分别是行内样式,嵌入样式以及链接式。我们需要根据不同的场合不同的需求来使用不同的样式。行内样式行内样式,就是写在元素的style属性中的样式,这种样式仅限于元素内部起作用。当个别元素需要应用特殊样式时就可以使用内联样式。但不......
  • flask蓝图的知识
    1蓝图是什么?在Flask框架中,蓝图(Blueprint)是一种组织和管理应用程序路由和视图的方法2不使用蓝图来划分目录目录结构和文件详情:注意点:这样做会一直使用app对象,容易出现循环导入的问题3使用蓝图来划分目录  ......
  • Flask + xlwt 以流形式返回Excel文件
    flaskfromioimportBytesIOimportxlwtfromflaskimportsend_file@app.route('/')defget_excel(): bio=BytesIO() wb=xlwt.Workbook(encoding='utf8') sheet=wb.add_sheet('Sheet1',cell_overwrite_ok=True) #写入表头 sty......
  • flask的闪现
    1什么是闪现?假设出错了--->重定向到另一个地址--->把错误信息在另一个返回中看到Flask提供了一个功能方便向前端反馈消息,这个功能叫闪现。闪现的功能是基于session实现,所以我们在使用闪现的时候需要配置secret_key'将数据放入后,再取出,数据就消失了'2闪现的原理把一些数......
  • HCIP学习(2)-- 路由引入
    一.路由引入的基本概念路由引入指的是将路由信息从一种路由协议发布到另一种路由协议的操作。通过路由引入,可以实现路由信息在不同路由协议间传递;执行路由引入时,还可以部署路由控制,从而实现对业务流量的灵活把控。二.实例讲解设备编号端口IP配置......
  • vue中引入echarts
    1、先下载依赖包npminstallecharts-s//安装在目标项目中,如果想要全局安装就用-g2、引入2.1、全局引入main.js中importechartsfrom'echarts'Vue.prototype.$echarts=echarts//也可以用:import*asechartsfrom'echarts'2.2、局部引入component.vueimportechar......
  • eTest 更新引入Playwright Trace &视频回放
    各位伙伴大家好,今天我们来聊一下eTest最近的更新修改,经过一个月的潜伏,我们继续深入自动化测试不断完善自动化测试,今天主要我们来聊下eTest_v1.1.22的版本更新带来的改变,主要是测试断言问题排查,功能一:之前eTest断言失败后,查看测试报告,只能看到错误的局部截图和全屏截图,只能了......
  • flask开发笔记
    1、调试参考:https://deepinout.com/flask/flask-questions/29_flask_how_to_debug_a_flask_app.html用pdb感觉还不错fromflaskimportFlaskimportpdbapp=Flask(__name__)[email protected]('/')defhello_world():name="Alice"......
  • vue引入外部字体
    1.下载字体包2.将字体包放在资源目录src/assets/font下3.创建字体css文件夹src/assets/fontcss,创建字体css文件并引入字体包/*注意:font-family:'XXX';将字体名字自定义为XXX,使用时要用这个名字*/@font-face{font-family:'myFont';src:url('../font/Not......