Django 使用 JSON 获取模型方法的值
Django Get value of model method with JSON
我目前正在尝试使用 javascript 来显示一个额外的表单字段,如果所选产品在检查此问题的方法上返回 true。虽然我有表单选择的更改部件设置,但我正在努力实际访问产品方法。我假设我必须使用我没有经验的 json。我希望执行以下操作,即在 if 语句中使用该方法的返回。我目前尝试使用的代码是(我意识到它只是显示一个警报 atm,但我的首要任务是让它工作):
function openingCheck(optionValue){
{% check_opening_date as json %}
var checkOpeningDateJSON = {{json|safe}};
if(checkOpeningDateJSON)
alert(optionValue);
};
其中用途:
@register.tag(name="check_opening_date")
def check_opening_date(parser, token):
"""return whether the product should show the opening date or not"""
product = Product.objects.get(pk=productID)
return serializers.serialize('json',product.show_opening_date())
我遇到的问题是我不确定如何将 optionValue 传递给 check_opening_date 函数以及如何返回 product.show_opening_date() 的值。
任何提示将不胜感激。
有两种方法。
-
呈现页面时,将
show_opening_date()
的结果与表单选择一起保存在某个位置。这意味着对于列出的每个产品,您要么在某处创建相应的隐藏输入,要么将结果保存为选择中的属性或其他内容。选择产品后,您只需使用 javascript 来检查此隐藏输入或属性的值。加载后,不需要与服务器交互。(总共有一个对服务器的请求) -
或者,您只需显示产品。选择一个后,您可以使用 ajax 与服务器联系,并提供产品的 ID。服务器运行
product.show_opening_date()
并返回包含结果的 json。(对服务器的请求很多;初始请求,以及每次用户选择产品时)
你拥有的东西没有意义。请记住,模板(以及所有模板变量和模板标签)是在呈现页面时组装的,因此它们没有任何执行 javascript 的概念(或 onchange 事件等)。您似乎对模板标签的概念有点困惑。这些应该用于模板逻辑,以显示已在视图中聚合的信息(通常 - 它不是一成不变的)。
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- sails.js beforeCreate方法只接收required设置为true的模型属性
- 在extJS 4.2中,有没有一种方法可以将模型值动态绑定到表单
- 有没有一种方法可以在设计模式下将ng模型或工厂绑定到iframe
- Odoo销售点如何访问模型并使用JS调用方法
- 有没有一种方法可以使用angular中的$index作为ng重复中的模型
- Ember.js-模型find()方法中的异步调用
- 续集返回未定义的模型自定义方法
- 当一个模型在骨干关系中被销毁时,销毁相关模型的最佳方法是什么?
- Django 使用 JSON 获取模型方法的值
- 如何将经度/经度值绑定到挖空视图模型方法
- 一种对MVC中的模型进行封装(添加隐私)的方法
- 将ng模型转发到指令中的元素的正确方法是什么
- 主干模型方法未递增
- 如何使用setVisible()方法设置json模型中元素的可见属性
- Backbone Collection.每个方法都会影响每隔一个模型
- 在canjs中,根据任何模型实例的存在,有条件地显示胡子模板部分的最常用方法是什么
- 如何等到find方法完成后再在Ember模型中进行进一步处理
- 有没有任何方法可以检测到用户'的Mac硬件模型
- 对于EmberJs模型,为什么不建议重写“init”方法