如何在Django的change_form.html中为块内容添加JavaScript
我想在从Django后台模板继承的模型的change_form.html模板中添加一些JavaScript代码。我希望根据登录的类型显示模型的一些属性。例如,用户可以是客户或者员工组的成员。有人能指导我吗?我该如何在change_form.html的{% block content %}标签中使用它呢?
1 个回答
2
你其实不需要用到 content
这个部分,因为有 head
这个部分,你可以把你的 JavaScript 放在这里。不过,那个用来防止某些用户修改某些字段的 JavaScript 其实很容易被破解。
{% block extrahead %}
{{ block.super }}
<script type="text/javascript">
$(function() {
{% if user.get_profile.is_customer %}
$('#id_of_field_block').hide();
{% endif %}
});
</script>
{% endblock extrahead %}
另外,你可以修改 change_form.html
这个模板,覆盖掉 content
部分,获取原文件的内容作为基础,然后修改字段模板 fieldset.html
(或者你也可以只覆盖 fieldset.html,我不太确定)。这个模板会遍历所有字段,你可以在这里添加一些检查。