gpt4 book ai didi

python - Django项目的View.py中可以禁用某个字段吗?

转载 作者:行者123 更新时间:2023-11-30 22:13:24 25 4
gpt4 key购买 nike

def resume_edit(request, r_id):

r = Resume.get.object(pk=r_id)
resume = ResumeModelForm(instance=r)

resume.fields['email'].widget.attrs['readonly'] = True

return render(request, 'resumes/resume.html', context)

我尝试这样做,但它不起作用,我知道如何在 Forms.py 中做到这一点,但我想知道在 View 中它是否可能?

我正在使用 Django 2.0

最佳答案

是的,从开始,一个字段有 .disabled可以设置为 True 的属性:

所以我们可以使用:

def resume_edit(request, r_id):
r = Resume.get.object(pk=r_id)
resume = ResumeModelForm(instance=r)

resume.fields['email']<b>.disabled</b> = True

return render(request, 'resumes/resume.html', context)

这不仅可以确保相应表单部分的 HTML 被禁用,而且还会在您发布表单时忽略可能的更改(当然,请注意,您首先需要禁用该字段)。

由于 render(..) 调用会生成 HTML,因此在渲染、验证或 .save( )'d。

.disabled 属性通常比使用 readonly 等更好。因为某些表单元素具有在 HTML 级别禁用元素的特殊方法(有些使用 禁用代替)。此外,正如之前所说,它不仅在 HTML 级别禁用表单元素。如果用户想要发布恶意值,那么表单将简单地忽略这些值。

关于python - Django项目的View.py中可以禁用某个字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50785499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com