我有一个HTML表单,要求用户提供他们的电子邮件,还有一个.txt文件,用于逐行存储电子邮件。如何在我的网站上显示“计数器”,如下所示:
“加入x已经注册的人数!”
其中x是一个整数,用于计算.txt文件中电子邮件的数量?我将.resx
用于Web服务器,并结合了HTML,CSS和Javascript。
答案 0 :(得分:1)
在提供注册表单的路线中,逐行阅读文件,找到结果列表的长度,然后将结果传递给flask.render_template
:
signup.html
:
<html>
<body>
<p> Join {{num}} other user{{plural}} who have already signed up!</p>
<form action = '/get_data' method='POST'>
<input type='email' name='email' placeholder='enter your email'>
<input type='submit'>Submit</input>
</form>
<body>
</html>
在路线上:
@app.route('/signup', methods=['GET'])
def signup():
current_users = len([i for i in open('filename.txt')])
return flask.render_template('signup.html', num = current_users, plural = '' if current_users == 1 else 's')
@app.route('/get_data', methods=['POST'])
def get_email():
with open('filename.txt', 'a') as f:
f.write('{}\n'.format(flask.request.form["email"]))
return '<h1>Thanks!</h1>'