我正在尝试显示在模型中上传的HTML文件。目前,使用{{ object.file.url }}
语法仅显示文件的路径。我想显示文件本身。
仅有的其他内容是我已经解决了MEDIA_ROOT
的问题,并且添加了我的网址:
if settings.DEBUG:
urlpatterns +=
static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
现在,该URL实际显示为folder/file.html
。希望将文件作为较大模型的列表视图和详细信息视图的一部分。
答案 0 :(得分:1)
我还没有尝试过,但是至少您应该了解一下。
假设您有FielField
,并且需要从record
渲染值。您可能需要使用Class-Based
视图,因为它具有许多现成的功能。
models.py
from django.db import models
class DjFile(models.Model):
title = models.CharField()
file = models.FileField(upload_to='files')
views.py
from django.shortcuts import render, get_object_or_404
# Function-Based View
from djfiles.models import DjFile
def dj_view(request, pk=None):
"""Get the record and render the `file`"""
obj = get_object_or_404(DjFile, pk=pk)
return render(request, obj.file, {
'title': obj.title
}, content_type='application/xhtml+xml')