gpt4 book ai didi

django - 如何在 Django 中将 CharField 渲染为静态文本?

转载 作者:行者123 更新时间:2023-12-04 06:42:37 25 4
gpt4 key购买 nike

我最近开始在 Django 中编码,所以也许我的问题有点奇怪。
最近我需要渲染CharField将模型中的字段转换为 html 中的简单静态文本,但我发现在这种情况下似乎并不像我想象的那么简单,或者我做错了什么......

我有这个模型:

class Tag(models.Model):
CATEGORIES = (
(0, 'category0'),
(1, 'category1'),
(2, 'category2'),
(3, 'category3'),
(4, 'category4'),
(5, 'category5'))
name = models.CharField(max_length=20)
description = models.CharField(max_length=100, blank=True)
category = models.IntegerField(default=0)
user = models.ForeignKey(User)

它的表单类是:
class TagForm(ModelForm):
category = ChoiceField(choices=Tag.CATEGORIES)

class Meta:
model = Tag

在 View 中,我创建了多个 Tag 的表单集提供单一形式的对象 TagForm每个类(class) Tag其中的对象:
TagsFormSet = modelformset_factory(Tag,exclude=('user'),form=TagForm,extra=0)
form = TagsFormSet(queryset=all_tags)

在模板中我有:
{{ form.management_form }}   
{% for tagform in form.forms %}
{{ tagform }}
<hr>
{% endfor %}

但是这种方式在 html 中,模型的“名称”和“描述”字段始终呈现为输入文本字段。我想将它们放在 html 中,就像没有任何内容的普通静态文本一样(目前在该 html 中我只需要显示它们)。这种情况有什么快速解决方案吗?

最佳答案

在表单的元类中,添加以下内容以删除字段

exclude = ('name', 'description'),

然后在您的模板中显示值
{{ tagform.instance.name }}
{{ tagform.instance.description }}

此外,choices 参数应该传递给类别模型字段;这样你就不需要在表单中明确定义字段。

关于django - 如何在 Django 中将 CharField 渲染为静态文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4063203/

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