如何使用 jinja 从 python 将 null 传递给 javascript
How to pass null to javascript from python using jinja
我在谷歌应用引擎中做了这样的事情:
self.render('hello.html', value=null)
但显然,由于 python 不理解 null,它认为它是一个未定义的变量并给出错误。
如果我将其作为字符串(value="null")发送,那么javascript不知道我的意思是null而不是字符串"null"。
那么有什么方法可以解决这个问题呢?
如果它有任何相关性,我正在尝试将值 null 传递给 javascript 中的谷歌散点图。
我假设你正在做这样的事情:
self.render('hello.html', value=[0.1, None, None, 0.5])
并让模板引擎将其转换为字符串,因此您最终会得到:
[0.1, None, None, 0.5]
如果是这样,你应该让python在传递给jinja之前将其转换为javascript:
import json
self.render('hello.html', value=json.dumps([0.1, None, None, 0.5]))
这将为您提供:
[0.1, null, null, 0.5]
这就是我认为你所追求的。
更好的解决方案是向jinja添加一个自定义过滤器来处理javascript转义。 这看起来像这样:
import json
def jsonfilter(value):
return json.dumps(value)
environment.filters['json'] = jsonfilter
然后在您的模板中,您可以做
{{value|json}}
假设您的模板如下所示:
plotdata = [0.1, {{value}}, null, 0.5]
(取决于您使用的模板引擎),然后:
self.render('hello.html', { "value": "null" })
应导致呈现的模板生成:
plotdata = [0.1, null, null, 0.5]
如果这不起作用,请告诉我们您正在使用的模板引擎,您尝试发送的值以及渲染的确切结果。
相关文章:
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 来自文本输入null的html javascript变量
- html+javascript:如何在某些条件下禁用dropdownlist中的null选项
- 当null应该在javascript中使用而不是未定义时
- Javascript Float32数组抛出无法读取属性'0'即使数组定义良好,也为null
- 全局Javascript变量变为null
- 如何删除此JavaScript null错误
- chrome和firefox上的javascript null比较不同
- JavaScript null;占位符与“准备清除”
- JavaScript null 参数使正则表达式匹配
- Javascript null 或 empty 控件不起作用
- 将Python None转换为JavaScript null
- JavaScript null引用错误
- 使用chrome fileSystem编写时,字符串中的Javascript NULL字符
- Javascript null输入错误
- 是javascript null独立类型的对象's值
- 与typeof运算符一起使用时,javascript null返回对象
- Javascript null检查没有按预期工作
- IE8 Javascript null != undefined
- Javascript null为空对象属性