繁体   English   中英

TypeError:render_template() 采用 1 个位置参数,但在(Flask 框架)中给出了 2 个

[英]TypeError: render_template() takes 1 positional argument but 2 were given in (Flask Framework)

请帮助它的人。 我是编程新手。 我正在尝试验证登录。 但它显示“TypeError .....”我无法弄清楚。

见下文这是我的代码(main.py)

 @app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        email = request.form.get('EMAIL')
        con1 = sqlite3.connect("check10.db")
        cur = con1.cursor()
        data = cur.execute("SELECT EMAIL FROM register WHERE EMAIL = ? ", (email,))
        if data == email:
            return render_template('homepage.html')
        else:
            alert = "Check Credentials "
            return render_template('loginpage.html', alert)
    return render_template("loginpage.html")

由于return render_template('loginpage.html', alert)您会收到错误消息。

如果您想将一些数据从服务器发送到 HTML 页面,那么您可以参考链接

如果您想向用户发送 flash 消息“检查凭据”,请参阅此链接

尝试这个:

 from flask import request, render_template, flash

 @app.route('/', methods=['GET', 'POST'])
 def index():
     if request.method == 'POST':
         email = request.values.get('EMAIL')
         con1 = sqlite3.connect("check10.db")
         cur = con1.cursor()
         data = cur.execute("SELECT EMAIL FROM register WHERE EMAIL = ? ", (email,))
         if data == email:
             return render_template('homepage.html')
         else:
             flash('Check Credentials ')
             return render_template('loginpage.html')
  return render_template("loginpage.html")

也尝试改变变量 email 像:

email = request.args.get('EMAIL')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM