【发布时间】:2020-07-11 18:47:11
【问题描述】:
如何从烧瓶渲染模板中格式化 html 中的日期?我从 sqlalchemy 获取内阁表,其中日期格式为 2020-03-31 10:55:15.500207。我只需要%Y-%m-%d。
{% for item in cabinet %}
<tr>
<td>{{item.name}}</td>
<td>{{item.stocktaking.strftime('%Y-%m-%d')}}</td>
<td>
{% if item.incomplete == true %}<span class="btn btn-sm btn-secondary">Incomplete</span>
{% else %}<span class="btn btn-sm btn-success">Complete</span>
{% endif %}
</td>
<td><a class="btn btn-sm btn-primary" href="{{ url_for('stocktaking_cabinet', name=item.name) }}" role="button">Show</a></td>
<td><a class="btn btn-sm btn-danger" href="{{ url_for('stocktaking_cabinet_reset', name=item.name) }}" role="button">Reset</a></td>
</tr>
表:
class Cabinet(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(20))
stocktaking = db.Column(db.DateTime, default=datetime.now())
incomplete = db.Column(db.Boolean)
strftime('%Y-%m-%d') 在 html 中不起作用。它显示此错误:
jinja2.exceptions.UndefinedError: 'None' has no attribute 'strftime'
【问题讨论】:
-
你能给我看看你的橱柜清单吗?
-
我尝试使用@app.template_filter('dt') def _jinja2_filter_datetime(date, fmt=None): if fmt: return date.strftime(fmt) else: return date.strftime(gettext( '%%m/%%d/%%Y')) 但同样的错误 jinja2.exceptions.UndefinedError: 'None' has no attribute 'strftime'
标签: html python-3.x flask jinja2 flask-sqlalchemy