Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用WTFROM而不使用烧瓶引导_Html_Python 3.x_Flask_Flask Wtforms_Flask Bootstrap - Fatal编程技术网

Html 使用WTFROM而不使用烧瓶引导

Html 使用WTFROM而不使用烧瓶引导,html,python-3.x,flask,flask-wtforms,flask-bootstrap,Html,Python 3.x,Flask,Flask Wtforms,Flask Bootstrap,我开始为一个项目创建一个登录注册网页,为此我想使用“wtforms”,但如果不使用flask引导库,我找不到任何示例。 我可以在没有烧瓶引导的情况下使用wtform吗 我做了一些实验,但似乎不起作用 这是我的代码: HTML: 登记处 西南 颗粒物 体育课 注册 Python: class RegisterForm(FlaskForm): name = StringField('name', validators=[InputRequired(), Length(min=4, max

我开始为一个项目创建一个登录注册网页,为此我想使用“wtforms”,但如果不使用flask引导库,我找不到任何示例。 我可以在没有烧瓶引导的情况下使用wtform吗

我做了一些实验,但似乎不起作用

这是我的代码: HTML:


登记处
西南
颗粒物
体育课
注册
Python:

class RegisterForm(FlaskForm):
    name = StringField('name', validators=[InputRequired(), Length(min=4, max=15)])
    surname = StringField('surname', validators=[InputRequired(), Length(min=4, max=15)])
    email = StringField('email', validators=[InputRequired(), Length(max=50)])
    password = PasswordField('password', validators=[InputRequired(), Length(min=8, max=80)])
    ruolo = StringField('urole', validators=[InputRequired()])

@app.route('/registration', methods=['POST', 'GET'])
def registration():
    # se tutti gli input rispettano i prerequisiti di validazione, aggiungi utente
    form = RegisterForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            hashed_password = generate_password_hash(form.password.data, method='sha256')
            new_user = User(name=form.nome.data, surname=form.cognome.data, email=form.email.data, password=hashed_password, urole=form.ruolo.data)
            db.session.add(new_user)
            db.session.commit()

            return '<h1>New user has been created!</h1>'
        return '<h1>post send but no validate!</h1>'

    return render_template("registration.html", form=form)


EDIT: I need to have the same formatting I had before using WTForms
 
class RegisterForm(烧瓶形式):
name=StringField('name',验证器=[InputRequested(),长度(最小值=4,最大值=15)])
姓氏=StringField('姓氏',验证器=[InputRequired(),长度(最小值=4,最大值=15)])
email=StringField('email',验证器=[InputRequired(),长度(max=50)])
password=PasswordField('password',验证器=[InputRequested(),长度(最小值=8,最大值=80)])
ruolo=StringField('urole',验证器=[InputRequired()])
@app.route('/registration',methods=['POST','GET'])
def注册():
#如有必要,请输入有效剂量的先决条件
form=RegisterForm()
如果request.method==“POST”:
if form.validate_on_submit():
hashed_password=generate_password_hash(form.password.data,method='sha256')
新用户=用户(姓名=form.nome.data,姓氏=form.cognome.data,电子邮件=form.email.data,密码=哈希密码,urole=form.ruolo.data)
db.session.add(新用户)
db.session.commit()
return“已创建新用户!”
return“发送后不验证!”
返回渲染模板(“registration.html”,form=form)
编辑:我需要使用与使用WTForms之前相同的格式

我也在为这个问题寻找解决方案,但都使用flask bootstrap,这正是我不想使用的

我尝试了以下方法:

{{ form.firstname(class='form-control bg-white border-left-0 border-md', placeholder='Firstname') }}
输出

<input class="form-control bg-white border-left-0 border-md" id="firstname" name="firstname" placeholder="Firstname" required type="text" value="">


这似乎很有效,从视觉上看,它似乎符合我的要求。

在另一个类似的线程上查看我的答案,它可能会帮助您:没有办法不使用{{form.hidden_tag()}}和{{form.name}如果没有的话,我如何才能插入课程等的位置?看看其中的一个视频-我非常喜欢它们,并为在线会议进行了注册。
<input class="form-control bg-white border-left-0 border-md" id="firstname" name="firstname" placeholder="Firstname" required type="text" value="">