【发布时间】:2021-10-12 05:13:04
【问题描述】:
我有一些示例文件,我想在下载链接中提供给所有管理员。它们不依赖于模型或用户(除了需要管理员)。它们是 txt 文件,所有管理员都必须可以使用相同的文件。我在文档中找不到任何关于此的内容,或者我不知道要查找什么。据我了解只有css、js和图片是静态文件,那么txt文件应该在/media/吗?
我可以将这些文件放在哪里,以便只有管理员才能下载它们?现在,我的自定义管理模板中有一个指向 /media/admin/examples/data_template.txt 的硬编码链接,但任何人都可以访问此链接。我在 settings.py 中有这些配置:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'assets')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
编辑:我也尝试将它放在管理静态目录中,因此我使用 {% load static %} 和 href="{% static 'admin/example_files/data_template.txt' %}" 将其加载到模板中 -但是注销后我仍然可以使用下载链接。很明显,我正在开发中。应该是这样的吗?
【问题讨论】:
标签: django django-admin django-staticfiles