从'views.py'的'param'中获取价值在Javascript Django中

时间:2017-12-07 08:55:44

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

在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)。 你能解释一下吗? 感谢。

1 个答案:

答案 0 :(得分:1)

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

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

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