模型中的Django文件字段
我试图显示一个上传到模型中的HTML文件。目前,使用模型中的Django文件字段,django,django-models,django-views,Django,Django Models,Django Views,我试图显示一个上传到模型中的HTML文件。目前,使用{{object.file.url}语法只显示文件的路径。我想显示文件本身 唯一的附加内容是我已寻址我的媒体\u根目录,并已添加到我的URL中: if settings.DEBUG: urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT) urlpatterns += static(settings.
{{object.file.url}
语法只显示文件的路径。我想显示文件本身
唯一的附加内容是我已寻址我的媒体\u根目录
,并已添加到我的URL中:
if settings.DEBUG:
urlpatterns +=
static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
现在,url按字面意思显示为
文件夹/file.html
。希望将该文件用作更大型号的列表和详细视图的一部分。我还没有尝试过,但至少你应该明白这一点。
假设您有FielField
,需要从record
中呈现值。您可能需要使用Class
视图,因为它具有许多现成的功能
models.py
from django.db import models
class DjFile(models.Model):
title = models.CharField()
file = models.FileField(upload_to='files')
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')
views.py
from django.db import models
class DjFile(models.Model):
title = models.CharField()
file = models.FileField(upload_to='files')
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')
我猜您希望呈现HTML
文件
,然后将响应
呈现到浏览器。我说的对吗?是的,我想有一个细节视图来呈现文件试试这个好的,我不确定我是否理解在使用通用视图时这是如何工作的。在哪里放置渲染
?