当前位置: 首页 > 知识库问答 >
问题:

找不到:/media/404 77 Django制作-ASGI数字海洋

满玉泽
2023-03-14

我尝试了所有方法,但我的媒体文件夹配置文件图片仍然没有出现。他们在网页上看起来像这样。

我在生产我的Django 2.1应用程序,使用数字海洋运行ASGI服务器(因为我使用通道)。

我的媒体文件夹位于我的根文件夹中(与manage.py的级别相同)。

给出的错误是

xx.xxx.xxx.xx:xxxxx - - [23/Feb/2019:17:23:49] "GET /media/profile_pics/avril.jpg" 404 77

但这是正确的路径,图像位于那里。我所有的静态文件都呈现良好。

我的settings.py

ASGI_应用程序='sobr。路由。应用程序'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'appname/static'),
)

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

MEDIA_URL = '/media/'

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
            "hosts": [os.environ.get('REDIS_URL', 'redis://xx.xxx.xxx.xx:8080')],
        },
    },
}

网址。派克

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

nginx上游

   location /static/ {
        root /home/user/appname/src/appname;
    }

    location /media/  {
        alias /home/user/appname/src/appname/media;
    }

回溯

2019-02-24 18:42:02,932 WARNING  Not Found: /media/profile_pics/girl.jpg
2019-02-24 18:42:02,934 WARNING  Not Found: /media/profile_pics/avril.jpg
2019-02-24 18:42:02,933 WARNING  Not Found: /media/profile_pics/man.jpg
xx.141.198.14:59401 - - [24/Feb/2019:18:42:03] "GET /media/profile_pics/brad_2G59aPW.jpg" 404 77
xx.141.198.14:59400 - - [24/Feb/2019:18:42:03] "GET /media/profile_pics/girl.jpg" 404 77
xx.141.198.14:59402 - - [24/Feb/2019:18:42:03] "GET /media/profile_pics/avril.jpg" 404 77
xx.141.198.14:59399 - - [24/Feb/2019:18:42:03] "GET /media/profile_pics/man.jpg" 404 77
xx.141.198.14:59404 - - [24/Feb/2019:18:42:03] "GET /static/fonts/PermanentMarker-Regular.ttf" 304 -
xx.141.198.14:59405 - - [24/Feb/2019:18:42:03] "GET /static/fonts/SourceSansPro-Light.ttf" 304 -
xx.141.198.14:59401 - - [24/Feb/2019:18:42:03] "GET /static/fonts/Poppins-SemiBold.ttf" 304 -

共有1个答案

鲜于海
2023-03-14

您是否正确设置了服务器?请检查nginx上游的媒体文件,如下所示。

server {
    listen 80;

    ............

    location /static/ {
        alias /home/project/staticfiles/;
    }
    location /media/ {
            alias /home/project/media/;
    }
.........



}
 类似资料:
  • 我对docker并不陌生,但我主要使用预构建的图像,我使用Docker-Compose连接这些图像。我需要一个超级基本的容器,它只读取日志文件并将内容流式传输到stdout,因为我在另一个容器中有权限问题。 以下是我的dockerfile: sheel脚本如下所示(目前--我正在测试) 正如您所看到的,我希望截断一些日志文件,然后连续地读取它。

  • 问题内容: 我正在尝试传递给jasper报告字符串位置的模板。因此,我在模板和值中传递了参数的键。当我在项目中有图像时,一切都在工作,但我想在另一个地方使用它。有什么方法可以从例如属性文件中读取参数?我不知道为什么这种解决方案不起作用: 我的形象: … 错误: 问题答案: 好的,我找到了…应该是:

  • 我知道有这么多关于这个的问题...但是它们不适合我,我尝试在eclipse中重新安装maven(因为创建一个新的maven项目或转换一个现有的动态web项目给我的pom.xml错误),但它一直说已经安装了...所以我质疑这样一个事实,即不使用maven就可以从rest web服务获得json吗?我已经从ws中获得了string/xml/html,现在我创建了一个新类,如下所示: 我还引用了这些库:

  • 在这个例子中,我找到了三位数的八进制数,我使用了冗长的if条件,谁能减少if语句和赋值。注意不要使用预先定义的过程或内置的包..

  • 我再次请求您的技术支持。 我在代码中收到多个“找不到符号错误”。我怎样才能纠正这个错误?我在转换变量类型时也有问题。 对于其中的一些变量,我尝试使用新文本(some_string_variable)来转换它们。是否需要使用“新”零件?。我可以直接调用文本(一些字符串变量)吗?

  • 问题内容: 我正在尝试在matplotlib绘图中使用字体“ Heuristica”,但不会显示。 我在rcParameter font.serif的第一个位置上定义了“ Heuristica”->没有结果 我将font.family更改为“ Heuristica”,并收到消息 这让我开始思考,因为已经安装了Heuristica,并且可以从其他软件访问它而没有问题。所以我使用了fontManage