访问云服务器网站不显示图片

Django写了个代码,有一个网页,显示media文件夹里的一个图片,本地运行的时候,本地访问127.0.0.1都没问题,正常显示
但放到云服务器上,图片就显示不出来了,但能显示有一个图片?
之前也是这个毛病,就是不显示图片 视频这种,文字正常的,求解

img

感觉是图片跨域问题,看看控制台 有报错信息吗

在 Django 中,为了让浏览器能够访问到 media 文件夹里的图片,需要进行以下几个步骤:

  1. 在 settings.py 文件中设置 MEDIA_ROOT 和 MEDIA_URL。例如:

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

    其中,MEDIA_ROOT 是本地文件系统中的储存路径,MEDIA_URL 是可以通过浏览器访问到 MEDIA_ROOT 的 URL 路径。

  2. 在项目的 urls.py 文件中添加一个 URL 路由。例如:

    from django.conf import settings
    from django.conf.urls.static import static
    
    urlpatterns = [
        # ...
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    

    这个路由的作用是将浏览器发出的请求中的 MEDIA_URL 部分与 MEDIA_ROOT 对应,使得浏览器能够访问到对应的图片。

  3. 在 HTML 模板中使用 {{ MEDIA_URL }} 占位符来引用图片。例如:

    <img src="{{ MEDIA_URL }}image.jpg">
    

    这样浏览器就能够正确地找到图片并进行显示。

已经按照上述步骤进行配置,但仍然无法正常显示图片,可能是因为文件路径或 URL 路径配置不正确,或者服务器上的 media 文件夹没有设置正确的读写权限。可以检查一下路径和权限设置是否正确,或者尝试在服务器终端上手动访问图片文件以确认其是否可访问。