首页 > 解决方案 > 如何显示有多少人在我的网站上注册?

问题描述

我有一个 HTML 表单,询问用户他们的电子邮件,以及一个逐行存储电子邮件的 .txt 文件。如何在我的网站上显示“计数器”,如下所示:

“加入x个已经注册的人!”

其中 x 是一个 int,用于计算 .txt 文件中的电子邮件数量?我正在flask为我的网络服务器使用 HTML、CSS 和 Javascript。

标签: javascriptpythonformswebflask

解决方案


在提供注册表单的路径中,逐行读取文件,找到结果列表的长度,然后将结果传递给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>'

推荐阅读