最近我找到了使用直接链接下载文件的方法(例如:Django direct link to file)。所以我用它。后来我尝试在Internet上部署我的项目(here)。当然,我在项目设置中将DEBUG
选项更改为False
值。
然后我发现MEDIA_ROOT中的文件无法下载。我阅读了文档django.conf.urls.static。好吧,现在我知道static
只能在调试模式下工作。
但是,有没有办法在没有调试模式的情况下做同样的事情?
更新:我使用以下代码生成href属性:
href_attr = os.path.join(settings.MEDIA_URL, os.path.basename(path_to_file))
为了测试我创建的页面只包含<a href='{href_attr}'>Download</a>
。如果调试模式为True(在myapp / settings.py中),它可以工作。但如果我将其切换为False,我会看到“找不到页面”。
问题是如何使用静态文件的模式扩展urlpatterns(如果调试模式为False并且不使用this创建直接链接到文件,则该方式有效)。