我有几个复杂的基于类的视图,用于具有内联表单集的模型表单,AJAX获取的新表单以及其他类似的东西。我想允许未经授权的用户查看所有内容,但只能编辑特定表单中的一个字段。我目前正在考虑的是通过 JS 禁用前端的字段,然后在表单清理期间清除一个可编辑表单的不允许字段并禁止 POST 其他所有内容,但这似乎有些笨拙。有没有其他可行的方法可以在没有Javascript参与的情况下做到这一点?
如果没有javascript,你将不得不使用"disabled"属性禁用每个输入,通过php echos在表单中设置它。
<inputtype="text" name="lname" <? if(!$enabled) echo 'disabled' ?>>
这最终可能会变得更加笨拙。因为在 javascript 的前端,你可以使用 jquery 用一行代码禁用所有输入:
$('input').prop('disabled', true);
然后仅启用特定输入。这是一条干净利落的道路。
$('#elid).prop('disabled', false);
此时,您只需对用户进行身份验证,并在用户未全部编辑字段时使用此方法。
没关系。我没有注意到Django标签。 我的回答无关紧要。