javascript - 如何检查 Django 对象是否在 javascript 中为 None?

标签 javascript python django

在js中如何判断一个Django对象是否为None?

我目前有一个变量 person 存储 Django 对象或 None。在我的 js 中我有:

if ({{person}} != None) {
    execute_function({{person}})
}

这似乎是什么问题?

最佳答案

John Smiths 的回答最有道理,请在 Django 的模板中查看。 实际上更好的是:

{% if person %}
    execute function
{% endif%}

如果您需要使用 JavaScript 检查它,JavaScript 使用 null 而不是 None,因此假设 JavaScript 代码也在 Django html 模板中(并且没有作为外部文件加载)这应该可以工作。

if ({{person}} != null) {
    execute_function({{person}})
}

编辑:

添加更多细节: 这可能会被解析为如下内容:

if (john != null){
    execute_function(john)
}

JavaScipt 不会理解 john ,但它会理解引用的版本 'john' :

if ('john') != null){
    execute_function('john')
}

实现此目的的最简单方法是向 Person 模型添加模型方法。

Class Person(models.Model):
    ...field definitions here.

    def quoted_name(self):
        return "'%s'" % self.name

然后在模板中(空字符串的计算结果为 false):

if ({{person.quoted_name }}) {
    execute_function({{person.quoted_name }})
}

关于javascript - 如何检查 Django 对象是否在 javascript 中为 None?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39091167/

相关文章:

python 立即发送 TCP/IP 数据

Python:YACC 的问题

javascript - php表单提交与JS按钮的问题

javascript - 就地编辑 jquery

python - Python findall 中的多个正则表达式

django - 内存数据库django中的Postgresql

Django: "created_at"列中的空值违反了非空约束

django - 为 Django 静态文件提供服务时的 Apache 403

javascript - 如何将事件处理程序动态附加到 SVG 组?

javascript - 有没有可靠的方法可以在 Highcharts 上自动生成 1 个月的价格变动间隔?