【问题标题】:how to serve django media files in LiteSpeed webserver如何在 LiteSpeed 网络服务器中提供 django 媒体文件
【发布时间】:2021-05-31 18:58:33
【问题描述】:

我在共享主机上部署了一个django项目,但我的媒体文件没有加载product image not load

我要做什么配置来解决这个问题?

setting.py

STATIC_URL = '/site_statics/'
STATICFILES_DIRS = [
   os.path.join(BASE_DIR, "assets")
]

STATIC_ROOT = os.path.join(BASE_DIR, "static_cdn", "static_root")

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR,  "static_cdn","media_root")
# MEDIA_ROOT = '/static_cdn/media_root'

urls.py:

urlpatterns = [
path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
path('admin/', admin.site.urls),
path('<lang>/', home_page, name='home'),
path('', home_redirect),
path('<lang>/products/', include('products.urls')),
path('<lang>/', include('agents.urls')),
path('<lang>/', include('information.urls')),
path('<lang>/', include('media_app.urls')),

]

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

【问题讨论】:

  • 如果你在本地运行 Django 应用程序会显示吗?如果您使用浏览器开发工具,那些丢失的图像会显示什么 HTTP 状态错误代码? 404, 403?
  • @Eric 不,我不。它部署在共享主机上
  • Django 不打算在生产中提供媒体文件。 stackoverflow.com/questions/39051206/…

标签: django deployment litespeed django-media


【解决方案1】:

您必须在 LSWS 设置中为您的虚拟主机配置媒体上下文。

  1. 在您的 LSWS 管理 GUI 中,单击虚拟主机
  2. 点击你正在使用的虚拟主机名(默认为Example)
  3. 单击上下文选项卡
  4. 单击页面右侧的 + 以添加新上下文
  5. 选择静态类型
  6. 将 URI 设置为 /media/(尾部斜杠是必需的,因为这是一个目录)
  7. 将位置设置为您的文件系统媒体文件夹位置
  8. 将可访问设置为是

您可以参考静态上下文作为示例。它将以相同的方式设置,但使用不同的 URI 和 root。

【讨论】:

    猜你喜欢
    • 2019-12-01
    • 2022-01-04
    • 2010-09-29
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 2010-11-08
    • 1970-01-01
    相关资源
    最近更新 更多