python - 如何自定义 django 管理?

标签 python django

我在 models.py 中有两个字段

password_protected = models.BooleanField(default=False)
password = models.CharField(max_length=50)

我想以这样的方式编写admin.py:

-- 如果password_protected 为True:则应启用密码字段。 -- 如果password_protected 为False:则应禁用密码字段。

最佳答案

您可以尝试@luc 建议的方法,但您也可以尝试将小部件添加到 password_protected 字段:

password = models.CharField(default=False, widget=forms.TextInput())

--并调整其属性:

form = MyForm(request.POST)
if form.is_valid():
    # do some nice stuff here
else:
    if form['password_protected'].data:
        form.fields['password_protected'].widget.attrs['disabled'] = 'disabled'

请注意,为 password 字段指定 widget 应该是不必要的,因为字段具有默认小部件,但我添加了它,以防需要修改小部件属性。

关于python - 如何自定义 django 管理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4274707/

相关文章:

python - 使用 3 个组件创建 numpy 向量

python - 卸载 pip 未使用的包

python - 找不到页面(404),Django 中的 URL 映射

python - 跳过 Elif 语句

python - 从 S3 Bucket 编辑 base.css 文件

python - 如何在 drf-spectaulous 中包含 400 个验证错误?

python - 使用 django-excel 通过 Excel 工作表上传数据

python - `matplotlib` : `self._chachedRenderer` fails `assert self._cachedRenderer is not None` , 在补丁上调用 `draw_artist` 时?

python - 使用 Python 解析 Thread-Index 邮件头

python - 在python中删除列表中的重复项