【问题标题】:parse python datetime object in javascript within django app在 django 应用程序中的 javascript 中解析 python 日期时间对象
【发布时间】:2017-12-15 00:18:12
【问题描述】:

我将以下变量传递给模板:

from django.utils import timezone
dt = timezone.now()
print(type(dt))  # <class 'datetime.datetime'>

如果我直接在我的 HTML 中使用它,一切正常:

{{ dt | date:'D d M Y' }}

渲染到Thu 14 Dec 2017

但是,当我尝试访问我的 javascript 中的变量时,我得到一个错误:

<script>
  {{ dt | safe }}
</script>

Uncaught SyntaxError: missing ) after argument list

此外,当我尝试呈现日期时间对象列表时,我得到了一个稍微不同的错误:

dt_list = [timezone.now() for _ in range(3)]

在我的 js 中:

<script>
  console.log({{ dt_list | safe }})
</script>

Uncaught SyntaxError: Unexpected token

所以我的问题是如何将 python 日期时间对象转换为我可以在 JS 中使用的东西?

【问题讨论】:

  • 您的 javascript 是在单独的 .js 文件中,该文件位于静态文件中还是在正在呈现的 HTML 页面中?
  • @StuartDines 不,不是

标签: javascript python django datetime


【解决方案1】:

你需要在 JS 中创建一个日期对象。

<script>
    var dt = new Date("{{ dt.isoformat }}");
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多