1
81
n、 b.见底部的2018年更新 我建议不要在Django模板中添加太多JavaScript,因为它往往很难编写和调试,尤其是在项目扩展时。相反,尝试将所有JavaScript编写在模板加载的单独脚本文件中,并在模板中仅包含一个JSON数据对象。这允许您通过以下方式运行整个JavaScript应用程序 JSLint ,缩小它,等等。您可以使用静态HTML文件测试它,而不依赖于您的Django应用程序。使用simplejson这样的库还可以节省编写冗长的序列化代码的时间。 如果您没有假设您正在构建一个AJAX应用程序,那么可以这样做: 他认为:
在模板中:
请注意,数据类型很重要:如果
在JavaScript中,假设您做了如下操作
编辑:请注意,javascript中的setTime以毫秒为单位,而time.mktime的输出以秒为单位。这就是为什么我们需要乘以1000 the HTML5 data API 达到 near universal browser support 而且传递简单(非列表/dict)值非常方便,特别是如果您可能希望基于这些值应用CSS规则,并且不关心不支持的Internet Explorer版本。
|
2
44
|
3
6
截至2018年年中,最简单的方法是使用Python的JSON模块,simplejson现在已不推荐使用。当心,@wilback提到你需要防止Django的自动转义
然后在模板中添加@wilblack建议的内容: template.html
|
4
3
Paul是对的:最好使用json模块创建json字符串,然后将该字符串插入模板中。这将最好地处理引用问题,并轻松处理深层结构。 |
5
2
|
6
1
请参阅对的相关回复 this question . 一个选择是使用 jsonpickle 在Python对象和JSON/Javascript对象之间序列化。它包装simplejson并处理simplejson通常不接受的事情。 |
7
1
将Java脚本嵌入到Django模板中是非常困难的 相当地 总是坏主意。 相当地 ,因为这条规则有一些例外。 一切都取决于您的Java脚本代码站点和功能。 最好有单独的静态文件,比如JS,但问题是每个单独的文件都需要另一个connect/GET/request/response机制。有时,对于小的一个,两行代码os JS将其放入模板中,然后使用django templatetags机制-您可以在其他模板中使用is;)
|
Florent · 如何在Django中聚合多个字段? 1 年前 |
KWunsch · Django没有将pk引入模板 1 年前 |
Akshay mek · Vscode扩展建议不适用于某些文件夹 1 年前 |
Farid · 限制django每个客户的访问 2 年前 |
Blue · 从Django中的输入字段获取用户输入 2 年前 |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |