python - 在模板中自动将 None 呈现为 null?
问题描述
我正在渲染一个message
捆绑在context
. 有时message
会是None
:
def context_test(request):
context = {
'message': None,
}
return render(request, 'testapp/context_test.html', context)
我只想在不是时才在前端提醒消息None
。到目前为止,我这样做是这样的:
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
</body>
<script>
let message = "{{ message }}";
{% if message %}
alert(message);
{% endif %}
</script>
</html>
但是,我想if
用纯 Javascript 替换 Django 的子句,如下所示:
<!DOCTYPE HTML>
<html>
<head>
<style>
</style>
</head>
<body>
</body>
<script>
let message = "{{ message }}"; // or {{ message }} ?
if (message) {
alert(message);
}
</script>
</html>
为了使它起作用,我需要在脚本中message
等于null
(或其他虚假值)。
是否可以以一种干净的方式完成,而无需在脚本中进行额外的转换,例如if {message === 'None'} message = null
?换句话说,我可以以某种方式告诉 Django 自动呈现模板中的None
上下文吗?null
解决方案
您可以使用default_if_none
让 None 看起来更像 JavaScript。
let message = '{{ message|default_if_none: "false" }}';
if (message != 'false') {
alert(message);
}
推荐阅读
- laravel - 如何在招摇中插入外部文件作为示例
- keras - Yolo to keras to coreml : 获得信心和坐标作为输出
- python - python中n个整数中的最大整数
- python - 将角度和速度转换为 x,y 变化的问题
- batch-file - 批量 zip 提取并使用 zip 文件名重命名
- excel - 在 VBA excel 中使用 application.worksheetfunction.Vlookup 时出现范围错误
- ssl - 证书密钥使用警告
- javascript - node.js] 如何在 server.js 中捕获 GET?
- python - 在数据框中使用 RegexpTokenizer 拆分句子
- vba - Office 365 中保存事件的 Word VBA 事件处理 - 何时触发?