在模板中显示 Django 模型字段

时间:2021-02-07 13:05:22

标签: python django

对不起,如果这是重复的,我发现了很多关于此的零散信息,但不知道如何将它们放在一起。

在我的模型中,我有:

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}}

但我最初拥有的不是文本字段,而是带有文件字段的注释行。我可以通过管理员上传文件,这很好用,但为了我的爱,我不能在模板中显示它。

我试过了:

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

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

编辑:我向管理员添加了一个summernote,以便我可以在管理员内部编辑HTML,这实际上比我原来的想法要好得多,但仍然 - 问题仍然存在,谢谢! :)

1 个答案:

答案 0 :(得分:0)

您需要阅读文件。

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

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

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