我最近开始在Django中编写代码,所以也许我的问题有点奇怪。 最近我需要将模型中的CharField
字段渲染为html中的简单静态文本,但我发现它似乎并非如此简单,因为我能想到,或者我做错了什么......如何将CharField转换为Django中的静态文本?
我有这样的模式:
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)
它Form类是:
class TagForm(ModelForm):
category = ChoiceField(choices=Tag.CATEGORIES)
class Meta:
model = Tag
在视图中创建该formset多以单独的形式Tag
对象与提供TagForm
CLA SS每个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中,我只需要显示它们)。这种情况有没有快速解决方案?
嗨马丁,谢谢你的回答。是的,我之前尝试过这种解决方案,但实际上这种方式编辑框已禁用,但在文本周围仍可见。我的目标是彻底删除这个编辑框,并离开那里只是纯文本,而不是它,但这一个我不知道如何实现... – surry 2010-10-31 16:50:40