我有html文件,我想从django视图向用户提供该文件的内容。
基本上这些文件是内部结构为html的数据文件。
**编辑**
所以你想渲染它们(在浏览器中显示它们),还是发送它们下载?是模板还是用户上传的文件?
答:客户端将使用html(以及其他数据)并用它替换页面的某些部分。 (我想我将如何使用它并不重要。我们可以将html内容视为数据)
您在编写软件时是否知道相关文件的名称,或者您是否只在运行时知道它们的名称?
答:我目前有一个将文件路径作为字段的表。即。文件路径可以在运行时更改
答案 0 :(得分:4)
您希望利用静态文件存储系统。
from django.contrib.staticfiles.storage import staticfiles_storage
file_handle = staticfiles_storage.open(your_filename)
contents = file_handle.read()
文件名(上面的your_filename
)应该是静态文件的相对路径(不包括STATIC_URL(/static/[this part]
)
如果要查找存储在应用程序目录(或其他已配置的静态查找程序)中的静态文件,则需要使用查找程序而不是存储来检索文件内容。以下是如何做到这一点:
from django.contrib.staticfiles.finders import find
file_path = "relative/path/to/file.extension"
abs_path = find(file_path)
file(abs_path).read()