在模板中显示Django模型字段

2024-10-04 05:31:23 发布

您现在位置:Python中文网/ 问答频道 /正文

很抱歉,如果这是重复的,我已经找到了很多分散的信息,但不知道如何把这些放在一起

在我的模型中,我有:

class Project(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField()
    technology = models.CharField(max_length=20)
    webbody = models.TextField()
        # models.FileField(upload_to='webcontent/projects')
    image = models.ImageField(upload_to='img/projects')

    def __str__(self):
        return self.title

我可以在webbody中键入HTML,并使用admin将其显示在模板中。没问题:

{{project.webbody | safe}}

但我最初使用的不是TextField,而是带有filefield的注释行。我可以通过管理员上传文件,效果很好,但是出于对我的爱,我不能在模板中显示它

我试过:

{{project.webbody.url}}
{% include project.webbody %}

如何正确处理django模板中的外部HTML文件

编辑:我在管理员中添加了一个summernote,这样我就可以在管理员中编辑HTML了,这实际上比我最初的想法要好得多,但仍然-问题仍然存在,谢谢!)


Tags: toselfproject模板titlemodels管理员html
1条回答
网友
1楼 · 发布于 2024-10-04 05:31:23

您需要读取该文件

这是您可以在您的视图中执行的操作:

def myview(request):
    project = Project.objects.get()
    content = open(project.webbody.path).read()
    return render(
        request, 'mytemplate.html', {
            'project': project,
            'content': content,
        }
    )

您可以阅读有关如何在Djangohere中存储文件的更多信息

相关问题 更多 >