【问题标题】:Get Value From 'param' Of 'views.py' In Javascript Django在Javascript Django中从'views.py'的'param'获取价值
【发布时间】:2018-05-21 07:50:33
【问题描述】:

在views.py中

def website(request, pk=None):
if not model_utils.check_admin_permission(request): 
    return loginAndContinuosRequest(request)

if pk:
    obj = get_object_or_404(Website, pk = pk)
    form = WebsiteForm(instance=obj)
    fields = obj.get_manage_payment_accounts()
else:
    obj = None
    form = WebsiteForm()
    fields = []

if request.POST:
    if pk:
        form = WebsiteForm(request.POST, request.FILES, instance=obj)
    else:
        form = WebsiteForm(request.POST, request.FILES)

    if form.is_valid():
        form.save()
        return HttpResponseRedirect(reverse("views_manage_websites"))

params = {
    'obj':obj ,
    'form':form,
    'fields': fields,
    'test': 'test',
}

return render(request, TEMPLATE_PATH + 'website.html', params)

在模板中的脚本(.html)中,

<script>

    $(document).ready(function() {
        alert({{ obj.id }}); //(1)
        alert({{ obj.pk }}); //(2)
        alert({{ obj.site_name }}); //(3)
        alert ({{ test }}); //(4)
    });

</script>

显示警报 (1) 和 (2)。但未显示警报 (3) 和 (4)。 你能帮我解释一下吗。 谢谢。

【问题讨论】:

  • 您确定您正在使用的模型实例具有该字段 (site_name) 的值吗?

标签: javascript django django-templates django-views views


【解决方案1】:

obj.site_name 和 test 是字符串。在 JavaScript 中,与在 Python 中一样,字符串需要用引号括起来。

    alert("{{ obj.site_name }}");
    alert("{{ test }}");

您的浏览器的开发者工具会显示原始代码会产生语法错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 2015-11-01
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多