【发布时间】:2018-05-14 02:22:59
【问题描述】:
在我的 Python (3.5) Flask 项目中,我使用 CAS client 进行身份验证,一切正常。身份验证完成后,我想在输出页面中显示用户名。所以我使用下面的代码
__init__.py:
from flask import Flask
from flask_cas import CAS
from flask_cas import login_required
# ...
APP = Flask(__name__)
cas = CAS(APP)
# ...
def list_page()
return render_template("list.html", name=cas.username)
@app.route('/admin/')
@login_required
def admin_page()
return list_page();
list.html:
...
<H2> Hi {{name}} </h2>
...
在我看到的输出页面
Hi <property object at 0x7fb37dfe6958>
【问题讨论】:
-
我们需要查看
cas变量的定义才能对此进行回答。 -
@MartijnPieters 我已经更新了代码以包含实例化部分。
-
您发布的代码没有重现问题;
cas.username属性将返回一个字符串,而不是<property object at 0xhexaddress>。 -
换一种说法,你确定你没有不小心使用
name=CAS.username而不是name=cas.username吗?或者,在您的代码中的其他地方,为名称cas分配了其他内容? -
感谢 Martijn,您的上一条信息很有帮助。
标签: python python-3.x templates flask cas