flask引入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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了