django - 如何使 Django 模型表单只读?

标签 django django-forms django-views

我有一个 Django 表单名称“SampleForm”。我用来从用户那里获取输入。现在我想使用相同的表单在不同的页面上向用户显示此信息。但是表单是可编辑的我想让表单只读。有没有办法让整个表格只读?

最佳答案

伪代码(未测试):

class ReadOnlyFormMixin(ModelForm):
    def __init__(self, *args, **kwargs):
        super(ReadOnlyFormMixin, self).__init__(*args, **kwargs)
        for key in self.fields.keys():
            self.fields[key].widget.attrs['readonly'] = True

    def save(self, *args, **kwargs):
        # do not do anything
        pass

class SampleReadOnlyForm(ReadOnlyFormMixin, SampleForm):
    pass

关于django - 如何使 Django 模型表单只读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32248575/

相关文章:

Django,DateTimeField(auto_now_add=True) 不工作

python - timeit 在 python manage.py shell 中不工作

python - 在 Django 中,如何通过单个表单提交同时创建用户和用户配置文件

python - Django 1.8 ModelForm request.POST 取代实例

Django 表单 - 附加到类元排除和小部件

python - 类型错误 : unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'

python - Django 模板 block 未显示?

Django 表单,在 Meta 类中有多个 "Models"?

django - 来自 AWS EC2 上重新定位的实例的 502 错误网关

redirect - Django : At the view level, 我可以将 'noindex' header 添加到 'redirect' 响应中吗?