如何使(几乎)所有形式的所有字段都被未授权用户禁用?

时间:2018-08-12 01:54:44

标签: django

对于带有内联表单集的模型表单,我有几个基于类的复杂视图,新表单被AJAX和其他类似的东西获取。我想允许未经授权的用户查看所有内容,但只能以特定形式编辑一个字段。我目前在想的是通过JS禁用前端上的字段,然后在对一个可编辑表单进行表单清理期间清除不允许的字段,并禁止发布其他所有内容,但这似乎有些笨拙。在没有Javascript参与的情况下,还有其他可行的方法吗?

1 个答案:

答案 0 :(得分:0)

没有javascript,您将不得不通过'disabled'属性禁用每个输入,并通过php echo在您的表单中对其进行设置。

<inputtype="text" name="lname" <? if(!$enabled) echo 'disabled' ?>>

哪个可能最终变得笨拙。因为在使用javascript的前端,您可以使用jquery禁用一行代码的所有输入:

$('input').prop('disabled', true);

然后在此之后仅启用特定的输入。哪种方法比较干净。

$('#elid).prop('disabled', false);

此时,您只需要对用户进行身份验证并在不允许用户编辑字段的情况下使用此方法。


没关系。我没有注意到Django标签。  我的回答无关紧要。