如何生成到用户使用flask提交的表单的链接?

2024-04-27 04:39:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Python、flask、flask wtforms和flask mail构建一个工具,其中:
a) 用户进入网站并填写表格
b) 用户填写完表格后,将发送一封电子邮件,其中包含用户在表格中填写的所有详细信息(例如,名字、姓氏、评论等)。在

到目前为止,如果一个用户填写了first name作为test,last name作为user,email astestuser@example.com,并评论为“这是一个测试评论”,我收到一封电子邮件,其中包含以下信息:

名称:测试用户
电子邮件:testuser@example.com
注释:这是一个测试注释

我想进一步做的是:
a) 在电子邮件中发送一个链接,该链接应指向用户在表单中提交的信息(我已经构建了一个测试页面,表单提交.html用户在提交表单后看到的)
b) 一旦从电子邮件中打开链接,我应该能够看到、回复并反馈用户的初始评论(比如说,“你的评论应该是,”这是一个测试评论2“而不是“这是一个测试评论”)
c) 最后,用户应该收到一封带有链接的电子邮件,在那里他或她可以查看我发布的评论(“这是测试注释2”)以及他或她的初始评论(“这是测试注释”)

这是不是可以用瓶子和瓶子邮寄的东西?或者使用Python中的其他模块?在

谢谢你的帮助。在

我的代码:
__初始化文件:

mail = Mail(app)
class MyForm(Form):
    firstName = StringField('First name', [validators.Length(min=3, max=35)])
    lastName = StringField('Last name', [validators.Length(min=3, max=35)])
    Email = StringField('Email Address', [validators.Length(min=4, max=35)])
    comment = TextAreaField('Comment', [validators.Length(min=4, max=500)])

@app.route('/', methods=['GET', 'POST'])
def index():
    form = MyForm(request.form)
    msg = Message("Email from user: " + form.firstName.data + " " + form.lastName.data, sender='testuser@example.com', recipients=['testuser2@example.com'])  
    msg.html = "Name: "  +  form.firstName.data + " " + form.lastName.data + \
        " <br />" +  "Email: " + form.Email.data + \
        "<br /> " + "Comment: " + form.comment.data 

    mail.send(msg)
    return render_template('formSubmitted.html', form=form)
return render_template('index.html', form=form)

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

在索引.html文件:

^{pr2}$

在表单提交.html文件:

{% autoescape false %}
{{"Name: " + form.firstName.data + " " + form.lastName.data + "<br />"
+ "Email: " + form.Email.data +  "<br /> "
+ "Comment: " + form.comment.data}}
{% endautoescape %}

Tags: 用户nameformcom表单data链接example