Django - 在此服务器上未在生产中找到资源

Posted

技术标签:

【中文标题】Django - 在此服务器上未在生产中找到资源【英文标题】:Django - resource was not found on this server on production 【发布时间】:2022-01-18 02:39:16 【问题描述】:

我正在尝试访问 django-import-export-celery 模块中使用的这些文件:

我可以在本地看到我的看法:

但它没有显示在我的生产服务器上:

这是我的urlpattern

urlpatterns = static(
    settings.MEDIA_URL, document_root=settings.MEDIA_ROOT
) + [

    # favicon
    path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url('img/Dalmore-Group-16-16.png'))),
    # debug
    path('__debug__/', include(debug_toolbar.urls)),
    url(r'^', admin.site.urls),

] 

我的settings.py 有:

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

更新

我在日志中收到此错误:

tail /var/log/gunicorn.err.log
WARNING:django.request:Not Found: /media/django-import-export-celery-import-change-summaries/new1_1_1hRlmBz_ubIptVv_St8xqbE_1_z2_PGH9e4O.html

即使它存在:

ls -A media/django-import-export-celery-import-change-summaries/
new1_1_1hRlmBz_ubIptVv_St8xqbE_1_z2_PGH9e4O.html

【问题讨论】:

【参考方案1】:

我添加了这个:

location /media/  
    root /home/ubuntu/dalmoreportal;
 

/etc/nginx/sites-available/django.conf

【讨论】:

以上是关于Django - 在此服务器上未在生产中找到资源的主要内容,如果未能解决你的问题,请参考以下文章

Django 在生产中找不到通过 CSS 文件链接的图像

Django中的线程在生产中不起作用

当调试在生产中为 False 时,Django 抛出 500

SpringBoot 在生产中没有找到错误模板,尽管它在 Netbeans 中找到了它

Django 2.2静态文件在生产中不起作用(DEBUG False)[重复]

为啥 codeIgniter 显示在此服务器上未找到请求的 URL?