Flask/Jinja2条件语句出现问题-显示sqlalchemy类



我在烧瓶应用程序中添加了一个用户配置文件页面。除了一项:之外,一切都在工作

我想显示的是用户的"帐户创建日期"。由于我在创建了一些用户之后添加了此功能(以及在注册时记录用户创建日期的逻辑(,因此某些用户表中的此列将为空。

我决定用一个jinja2if/else语句来检查用户是否有user_created日期。

如果用户有日期,则会显示该日期。如果没有,它将用"从时间的黎明"代替日期。

问题是我的{%if user.user_created%}条件逻辑似乎正在提取sqlalchemy DateTime类类型,而不是None,显示如下:

Member since: <class 'sqlalchemy.sql.sqltypes.DateTime'>

如果使用相同的模式来检查其他数据的存在,那么我猜它与包含数据库的列有关。列(db.DateTime(,但我不确定如何解决它。

这是我的Jinja模板代码:

<h1>User: {{ user.username }}</h1>
{% if user.about_me %}<p>{{ user.about_me }}</p>{% endif %}
{% if user.user_created %}
<p>Member since: {{ user.user_created }}</p>
{% else %}
<p>Member since: The dawn of time</p>
{% endif %}

这是我的sqlalchemy用户模型的专栏:

user_created = (db.DateTime)

如有任何帮助,将不胜感激

是的,在测试了上面评论中的实现之后,这实际上就是问题所在。

我不小心漏掉了数据库。我的模型中的列。现在一切正常。

最新更新