Py学习  »  Python

在HTML(Python应用程序)中使用变量时,在{name}周围放置不必要的括号

Callum • 3 年前 • 1280 次点击  

我正在创建一个Python Flask应用程序,其中用户帐户的名称将从MySQL数据库传递到一个Flask应用程序,该应用程序可以在网页上使用。

我已经成功地使用以下方法从数据库中的用户凭据中检索到了名字:

if sha256_crypt.verify(userDetails['password'], str (data[0])):
    cursor.execute("SELECT fname FROM user_details WHERE email = %s;", (email, ))
    name = cursor.fetchone()
    session['user'] = name
    return redirect(url_for('success', name=name))

为了解释这段代码的作用,一旦用户输入的登录详细信息被数据库检查并授权,查询就会从 user_details 表并将其分配给 name 变量,该名称用于启动会话。

然后,用户返回到登录页面(现在已登录),其中另一个变量调用 名称 (我可能会对此进行更改,以便更容易区分)传递存储在会话中的名称,以便使用此功能在网站上显示:

@app.route('/loginpage', methods=['POST', 'GET'])
def loginpage():
    if 'user' in session:
        name = session['user']
        return render_template('login.html', name=name, loggedOut=False, loggedIn=True)
    return render_template('login.html', loggedOut=True, loggedIn=False)

这一切都成功地工作,并从数据库中检索用户的名字,但唯一的问题是,当名称显示为 {{name}} 在HTML中,名称显示为 (‘约翰’,) ,例如,这意味着:

<div class="container logout-greeting">
    <h5 style="text-align: center">Hello {{name}}, it appears you are logged in, click here to log out</h5>
</div>

应显示为:

“你好,John,您似乎已登录,请单击此处注销”

而是显示为:

“您好(‘John’),您似乎已登录,请单击此处注销”

我与一位在构建Web应用程序方面更有经验的人进行了交流,但他们没有发现问题,那么是否有其他人可以给我一个指针,说明是什么导致了这种情况?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132956
 
1280 次点击  
文章 [ 2 ]  |  最新文章 3 年前