首页 > 解决方案 > 如何在 LiteSpeed 网络服务器中提供 django 媒体文件

问题描述

我在共享主机上部署了一个 django 项目,我的媒体文件没有加载产品图像没有加载

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

设置.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'

网址.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)

标签: djangodeploymentlitespeeddjango-media

解决方案


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

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

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


推荐阅读