【发布时间】:2018-02-27 15:10:54
【问题描述】:
我用 django 部署了一个网站。它提供所有静态文件,但不提供用户上传的文件。
这是我的settings.py 和urls.py:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = False
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticroot')
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]
MEDIA_URL = '/files/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploaded_files')
还有urls.py:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', Index.as_view(), name='index'),
]
在页面中,它会正确打印用户上传的文件地址,但是当我单击链接时不显示它们,它会显示 404 页面。 我使用从 nginx 存储库中获取的最新版本的 nginx。版本 1.12。 它与 django 或 webserver(nginx + gunicorn)有关吗?我该如何解决这个问题?
更新
当我将MEDIA_URL 和DEBUG 更改为True 时,它第一次可以工作并提供用户上传的文件,但是如果我刷新页面,它就不起作用了!有什么问题??
【问题讨论】:
标签: django nginx django-templates gunicorn django-file-upload