我正在制作一个新的django应用程序,用户可以在其中上传图像,然后将其显示在页面上。我读了一堆django staticfiles部署文档,却不明白为什么它们仍然不起作用。
我的所有图像都将到达应有的位置,并且在我的模型中,管理员django拥有通往图像的正确路径,但无法正确加载。
我在settings.py中的设置:
STATIC_URL = '/static/'
STATIC_ROOT = 'static' # live cdn such as AWS S3
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
MEDIA_ROOT = os.path.join(STATIC_ROOT, 'media')
MEDIA_URL = '/img/'
我的目录:
|- src
|- myproject
|- settings.py, views.py, urls.py etc
|- myapp
|- views.py urls.py models.py forms.py etc
|- static (this folder is empty and appeared after running collectstatic
|- templates
|- db.sqlite3
|- manage.py
|- static (this folder is OUTSIDE src)
|- admin
|- django admin stuff
|- media
|- img
|- myimage.png
在myapp的models.py中,图像字段upload_to ='img /'
如果我处于调试模式,并且添加了推荐的代码以使其正常工作:
if settings.DEBUG:
from django.conf.urls.static import static
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
一切正常。虽然这只是在调试模式下。我知道文档说这只能在调试模式下工作,但无论如何我都尝试过。我正在尝试一切。
多年来,我一直在尝试解决此问题,但是我无法从任何人那里得到任何帮助,并且django文档和其他stackoverflow问题/答案也都没有帮助。
感谢您的帮助!
注意:这是与上一个问题不同的问题,请不要再次关闭它。尝试
答案 0 :(得分:-1)
|- src
|- myproject
|- settings.py, views.py, urls.py etc
|- static # This is where your static files should be...
|- myapp
|- views.py urls.py models.py forms.py etc
|- static # This is where all your static files will be collected and served from
|- templates
|- db.sqlite3
|- manage.py