Python django中上载的图像在生产过程中不工作

Python django中上载的图像在生产过程中不工作,python,django,Python,Django,在开发过程中会显示我上传的图像,但在生产过程中不会显示 代码如下: #settings.py STATIC_ROOT = '/home/eakdev/webapps/my_static' MEDIA_ROOT = '/home/eakdev/webapps/my_static/media' MEDIA_URL = '/media/' #urls.py When I add this during development my images are showing correctly urlpa

在开发过程中会显示我上传的图像,但在生产过程中不会显示

代码如下:

#settings.py
STATIC_ROOT = '/home/eakdev/webapps/my_static'
MEDIA_ROOT = '/home/eakdev/webapps/my_static/media'
MEDIA_URL = '/media/'

#urls.py When I add this during development my images are showing correctly
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

#base.html
<img class="img-responsive" src="{{ project.preview.url }}" alt="">
#settings.py
STATIC_ROOT='/home/eakdev/webapps/my_STATIC'
MEDIA_ROOT='/home/eakdev/webapps/my_static/MEDIA'
媒体URL='/MEDIA/'
#url.py当我在开发过程中添加此选项时,我的图像显示正确
urlpatterns+=静态文件\u urlpatterns()
urlpatterns+=静态(settings.MEDIA\u URL,document\u root=settings.MEDIA\u root)
#base.html

在阅读了一些与此相关的问题后,我认为它不起作用的原因是我的代码使用dev server来服务媒体文件,这只对开发有利。我应该更改什么,以便在生产环境中使用?

在生产环境中使用媒体文件的首选方法是设置前端Web服务器或CDN来使用它们

例如,在nginx中,您将在服务器配置中包括以下部分:

location /media/ {                        # Should match MEDIA_URL
    alias /path/to/mysite.com/media/;     # Should match MEDIA_ROOT
}
在Apache中:

Alias /media/ /path/to/mysite.com/media/  # MEDIA_URL MEDIA_ROOT

<Directory /path/to/mysite.com/media>     # MEDIA_ROOT
    Require all granted
</Directory>
Alias/media//path/to/mysite.com/media/#media\u URL media\u ROOT
#根媒体
要求所有授权
这些将是最简单的指令,当然,您可以在缓存、访问控制等方面做更多的工作。

我也遇到了同样的问题。 在settings.py中,我对以下几行进行了注释:

#MEDIA_ROOT = '/home/prk/Documents/prakhar/mysite/media'
#MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "..", "www", "media")
MEDIA_URL = '/media/'
并添加了以下行:

#MEDIA_ROOT = '/home/prk/Documents/prakhar/mysite/media'
#MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "..", "www", "media")
MEDIA_URL = '/media/'
当您在本地主机上运行服务器时,它会给出错误信息,但在生产环境中它可以正常工作

我的项目结构是: /包装器/mysite/(…和…以及manage.py和mysite和…)

在包装器目录中,我有一个名为www的文件夹,其中有一个名为media的文件夹


希望这能有所帮助。

您能更具体一点,或者举个例子,这是我第一次部署。如果这是您第一次部署,我建议您学习一个分步教程,例如,或。还有。如果你有后续问题,他们可能更适合那里。嗨,谢谢你的链接,我能够通过尝试和错误解决我的问题,但仍然不知道背后的原因。正在浏览您建议的链接并进行比较。如果您可以将您的文章编辑为目录结构为
,则会更好。那会更有帮助。