【发布时间】:2020-12-10 06:00:21
【问题描述】:
我有一个带有截止日期的烧瓶待办事项列表应用程序。截止日期基本上是您想要完成待办事项的时间戳。
当当前时间超过待办事项的截止日期时,它会发送推送通知。截止日期以年-月-日时:分(24 小时制)格式输入。它现在在我的机器上运行良好,但如果我将它部署在服务器上,它会将服务器的时间与截止日期进行比较。我想获得客户端/浏览器的时间。我该怎么做?
这是我的 Python 代码
@app.route('/dashboard', methods=['GET', 'POST'])
@login_required
def dashboard():
incomplete_todos = Todo.query.filter_by(writer=current_user, complete=False).all()
complete_todos = Todo.query.filter_by(writer=current_user, complete=True).all()
return render_template('dashboard.html', incomplete_todos=incomplete_todos, complete_todos=complete_todos, datetime=datetime.datetime.now())
这是我的 HTML/Jinja 代码
{% if datetime >= todo.due_date %}
<meta http-equiv="refresh">
<script>
Push.create("Overdue Todos", {
tag: 'overdue',
body: "Your overdue todos are listed below.",
icon: '../static/todos.png',
timeout: 5000,
onClick: function () {
window.focus();
this.close();
}
});
</script>
<i class="fas fa-exclamation-circle important"></i>
<a class='edit' href="{{ url_for('edit_todo', todo_id=todo.id)}}"><i class="far fa-edit"></i></a>
<a class='complete' href="{{ url_for('complete_todo', todo_id=todo.id)}}"><i class="far fa-check-square"></i></a>
<a class='delete' href="{{ url_for('delete_todo', todo_id=todo.id)}}"><i class="far fa-trash-alt"></i></a>
{% else %}
<a class='edit' href="{{ url_for('edit_todo', todo_id=todo.id)}}"><i class="far fa-edit"></i></a>
<a class='complete' href="{{ url_for('complete_todo', todo_id=todo.id)}}"><i class="far fa-check-square"></i></a>
<a class='delete' href="{{ url_for('delete_todo', todo_id=todo.id)}}"><i class="far fa-trash-alt"></i></a>
{% endif %}
不用担心 Push.create 的东西,这就是我用来发出推送通知的东西,但我的主要问题是如何在烧瓶中获取客户端/浏览器时间,然后将其放入 html 中进行比较?我也想拥有相同的格式。
【问题讨论】:
-
您是否尝试将数据库中的每个时间戳转换为 UTC,然后将其本地化到您应用中的时区?
标签: python flask web-applications