gpt4 book ai didi

python - Flask 表单仅返回 FALSE 的问题

转载 作者:太空宇宙 更新时间:2023-11-03 21:20:13 25 4
gpt4 key购买 nike

对于我对这个问题的无知表示歉意。我刚刚开始接触使用 Python 和 Flask 进行 Web 开发。

我正在尝试创建一个应用程序,该应用程序将从输入字段中获取字符串并将其转换为哈希值并将其显示在输出页面上。但是,我不确定我的表单设置是否正确。

当我运行应用程序时,它只返回一个错误值,并显示用户没有输入任何内容,即使我输入随机字符串也是如此。

app.py
from flask import Flask, render_template, request, url_for, flash, redirect
from message import MessageForm, validators, ValidationError
from cryptography.fernet import Fernet

app = Flask(__name__)
app.secret_key = 'development'

key = Fernet.generate_key()
f = Fernet(key)

@app.route('/', methods=['GET', 'POST'])
def home():
form = MessageForm(request.form)

if request.method == 'POST' and form.validate_on_submit():
user_message = form.message_field.data
e = user_message.encode(encoding='UTF-8')
token = f.encrypt(e)
output = bytes.decode(token)
return redirect('output.html', output=output)

return render_template('index.html', form=form)

if __name__ == ('__main__'):
app.run(debug=True)

消息.py
from wtforms import StringField, SubmitField, validators
from flask_wtf import FlaskForm
from wtforms.validators import DataRequired, ValidationError

class MessageForm(FlaskForm):
message_field = StringField('Please enter the message you would like to
encrypt:', [validators.Required('Please enter a message!')])
submit = SubmitField('Submit')

HTML 表单

{% extends 'layout.html' %}

{% block body %}

{{ form.csrf_token }}

<br />
<form action="/" method="POST">
<div class="form-group">
<label style="font-weight: bold;">{{ form.message_field.label }}</label>
<input type="text" class="form-control" name="message" id="message">
<br />
<button type="submit" class="btn btn-primary btn-lg btn-block">Encrypt Message</button>
</div>
</form>

{% for message in form.message_field.errors %}
<div class="alert alert-danger" role="alert">
{{ message }}
</div>
{% endfor %}

{% endblock %}

我想要的是,如果没有输入任何内容,应用程序会返回错误,但如果输入了某些内容,则可以正确运行应用程序。

我希望这是有道理的,如前所述,请原谅我的无知。

非常感谢您的帮助。

最佳答案

也许你可以尝试:

user_message = request.form.get("message")

而不是

user_message = form.message_field.data

关于python - Flask 表单仅返回 FALSE 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54343974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com