标签: flask-bootstrap

在使用 Flask for Python 3 时如何使用 Bootstrap 4?

我已经检查并发现 Flask-Bootstrap 在默认情况下安装时本机使用 Bootstrap 3.3.7。但实际上我想通过使用 Flask-Bootstrap 包为我的项目使用 Bootstrap 4+,任何关于如何更新它或类似的帮助将不胜感激。谢谢

python flask flask-bootstrap bootstrap-4

17
推荐指数
1
解决办法
2万
查看次数

使用从前一个字段中选择的值填充WTForms选择字段

新手,尝试按照着名的Flask教程构建应用程序,使用Flask-bootstrap,Flask-wtforms,Jinja等

我有一个包含2个选择字段和一个按钮的表单.

class Form(FlaskForm): 
    school_year = SelectField('School year', choices=some_tuples_list)
    category = SelectField('Category', choices=[]) 
    submit = SubmitField('submit')
Run Code Online (Sandbox Code Playgroud)

我希望只预先填充第一个字段,并根据前一个字段的选定值填充另一个字段(在客户端?).

在模板中,我尝试了类似的东西

{{ form.school_year(**{"onchange":"getCategories()"}) }}
Run Code Online (Sandbox Code Playgroud)

哪个工作正常(假设我返回元组列表以填充下一个字段,使用正确的javascript和路由)但我想要类似下面的内容

{{ wtf.form_field(form.school_year(**{"onchange":"getCategories()"})) }}
Run Code Online (Sandbox Code Playgroud)

哪个不起作用(错误:wtforms.widgets.core.HTMLString对象'没有属性'标志')

所以,我想我的问题是:如何在这个wtf表单字段上实现onChange事件?(这是我必须做的,还是从视图功能有一种方法?)

提前致谢.

flask flask-wtforms flask-bootstrap

14
推荐指数
1
解决办法
2万
查看次数

使用WTForms和Flask预填充编辑表单

我可以使用WTForms和Flask向我的数据库添加一个新条目,我也可以编辑,问题是我需要以编辑形式显示数据库中已有的信息.

我有以下代码:

编辑帖子表格的类

class editPostForm(Form):
    postTitle = TextField('postTitle', validators.Required()])
    postSubtitle = TextField('postSubtitle', validators.Required()])
Run Code Online (Sandbox Code Playgroud)

编辑帖子模板的路径

@app.route('/editpost/<postId>', methods = ['GET','POST'])
def editpost_page(postId):
try:
    form = editPostForm(form)

    if request.method == "POST" and form.validate():
        postTitle = form.postTitle.data
        postSubtitle = form.postSubtitle.data

        c, conn = connection()

        query = c.execute("SELECT * FROM posts WHERE post_id = (%s)",
                          [noinjection(postId)])

        c.execute("UPDATE posts SET post_title=%s, post_subtitle=%s WHERE post_id = %s",
                     [
                     noinjection(postTitle),
                     noinjection(postSubtitle),
                     noinjection(postId)
                     ])

        conn.commit()

        flash("Post Edited", 'success')

        c.close()
        conn.close()
        gc.collect()

        return redirect(url_for('posts'))

    return render_template("editpost.html", form = form, POST_ID …
Run Code Online (Sandbox Code Playgroud)

python jinja2 flask flask-wtforms flask-bootstrap

6
推荐指数
2
解决办法
8888
查看次数

Flask-Bootstrap 如何工作?

我正在学习 Flask Web 开发,我正在学习的教程介绍了一个名为Flask-Bootstrap的扩展。要使用这个扩展,你必须先初始化它,像这样:

from flask_bootstrap import Bootstrap
# ...
bootstrap = Bootstrap(app)
Run Code Online (Sandbox Code Playgroud)

对我来说很奇怪bootstrap,我的模块的其余部分没有使用该变量。但是,如果我注释掉这一行,jinja2.exceptions.TemplateNotFound则会引发异常。此外,使用的模板以这一行开头:

{% extends "bootstrap/base.html" %}
Run Code Online (Sandbox Code Playgroud)

但我没有指定目录/bootstrap/templates

我想知道发生了什么:

  1. 什么是bootstrap = Bootstrap(app)行吗?
  2. 住在哪里bootstrap/base.html

python templates flask twitter-bootstrap flask-bootstrap

6
推荐指数
1
解决办法
7067
查看次数

如何在quick_form烧瓶引导程序中将类添加到标签

使用quick_form Flask-Bootstrap生成的形式对我来说是非常方便的,但是,我不能在他们找到的文档的方式,我可以额外类添加到label所要求的我的模板主题。

我的 forms.py 类如下所示:

from flask_wtf import Form
from wtforms import StringField,PasswordField,TextField,SubmitField
from wtforms.validators import InputRequired,EqualTo,Email,ValidationError

class Building_Form(Form):
    BuildingName = TextField('Building Name')
    BuildingType = TextField('Building Type')
    FloorNums    = TextField('Numers of Floor')
    BuildUnits   = TextField('Units in Building')
    BuildSize    = TextField('Building Size')
    BuiltYear    = TextField('Built in (year)')
    BuildOpeningTime = TextField('Open Time')
    BuildClosingTime = TextField('Close Time')
Run Code Online (Sandbox Code Playgroud)

我的routes.py如下所示:

from app.import_core import *
from flask_wtf import FlaskForm
from wtforms import Form, BooleanField, StringField, PasswordField, validators
from …
Run Code Online (Sandbox Code Playgroud)

flask python-2.7 flask-wtforms flask-bootstrap

6
推荐指数
1
解决办法
2640
查看次数

Flask-Talisman 打破了 Flask-Bootstrap

我希望我的网站始终重定向到该网站的安全 https 版本,我正在flask-talisman这样做。然而,出于某种原因,添加这行看似无关的代码会破坏flask-bootstrap我网站上的格式。

这是__init__.py添加之前原始文件和网站的样子flask-talisman

from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_bootstrap import Bootstrap
from flask_heroku import Heroku


app = Flask(__name__)
app.config.from_object(Config)
Bootstrap(app)
heroku = Heroku(app)
db = SQLAlchemy(app)
migrate = Migrate(app, db)

from app import routes, models
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

这是__init__.py添加后文件和网站的样子flask-talisman

from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_talisman import …
Run Code Online (Sandbox Code Playgroud)

python ssl https flask flask-bootstrap

6
推荐指数
1
解决办法
2206
查看次数

带烧瓶的Bootstrap

我希望将一个bootstrap模板集成到我的烧瓶程序中.具体来说:我下载了此模板的zip文件:

https://startbootstrap.com/template-overviews/sb-admin/

但是,该文件的格式与Flask模板/静态格式完全不同.

我还下载了Flask-Bootstrap(python),但未能准确成功导入模板.

我正在寻找关于如何轻松地将这种类型的模板导入我的烧瓶代码(包括css,jQuery,html等)的建议.谢谢!

python flask twitter-bootstrap flask-bootstrap

5
推荐指数
2
解决办法
1万
查看次数

如何在flask-bootstrap中使用bootstrap4?

Flask-bootstrap自动提供的css文件如下所示:

<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

它是版本3。是否可以在flask-bootstrap中使用bootstrap4?现在,我只是在基本模板中将css和js文件更改为版本4。但是我想知道这是否会带来一些细微的问题。

python flask flask-bootstrap

5
推荐指数
1
解决办法
1615
查看次数

jinja2.exceptions.TemplateNotFound:bootstrap/base.html

我在安装Bootstrap Flask扩展后继承了Flask应用程序中的bootstrap/base.html但出现以下错误:

jinja2.exceptions.TemplateNotFound: bootstrap/base.html
Run Code Online (Sandbox Code Playgroud)

jinja2 flask flask-bootstrap

4
推荐指数
1
解决办法
6096
查看次数

flask-bootstrap在一个页面中有两个表单

我打算在我的烧瓶应用程序中将两个表单放在一个页面中,一个用于编辑一般用户信息,另一个用于重置密码.模板看起来像这样

{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block page_content %}                                                   
<div class="page-header">                                                  
    <h1>Edit Profile</h1>
</div>

{{ wtf.quick_form(form_profile, form_type='horizontal') }}                 

<hr>

{{ wtf.quick_form(form_reset, form_type='horizontal') }}                   

<hr>
{% endblock %} 
Run Code Online (Sandbox Code Playgroud)

每个表单都有一个提交按钮.

在路由功能中,我试图将这两个表单分开

form_profile = ProfileForm()
form_reset = ResetForm()

if form_profile.validate_on_submit() and form_profile.submit.data:
    ....
if form_reset.validate_on_submit() and form_reset.submit.data:
    .....
Run Code Online (Sandbox Code Playgroud)

但它没有用.当我单击ResetForm中的按钮时,将执行ProfileForm验证逻辑.

我怀疑问题是wtf.quick_form()创建两个相同的提交按钮,但不确定.

在这种情况下我该怎么办?bootstrap/wtf.html模板可以处理这种情况吗?

python flask flask-wtforms flask-bootstrap

3
推荐指数
1
解决办法
1942
查看次数