gpt4 book ai didi

python - 如何将 django ModelForm 字段显示为不可编辑

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:22 27 4
gpt4 key购买 nike

我最初学习 django ModelForm 时,我想让用户能够编辑博客中的条目。BlogEntry 有一个 日期,发布时间、标题和内容。我想向用户显示一个显示所有这些字段的编辑表单,但只有标题和内容可编辑date 和 postedTime 应该显示为不可编辑

class BlogEntry(models.Model):
title = models.CharField(unique=True,max_length=50)
description = models.TextField(blank=True)
date = models.DateField(default=datetime.date.today)
postedTime = models.TimeField(null=True)

...

为了添加条目,我以正常方式使用 ModelForm..

class BlogEntryAddForm(ModelForm):
class Meta:
model = BlogEntry
...

但我如何创建编辑表单?我希望它将日期、postedTime 显示为不可编辑(但仍将它们显示在表单上)并让用户编辑标题和说明

如果我对日期和发布时间使用exclude in class Meta,这将导致它们不会出现在表单上。那么,我怎样才能将它们显示为不可编辑?

class BlogEntryEditForm(ModelForm):
class Meta:
model = BlogEntry
...?...

最佳答案

在表单对象中,声明字段的属性为readonly:

form.fields['field'].widget.attrs['readonly'] = True

关于python - 如何将 django ModelForm 字段显示为不可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7088321/

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