django - 如何在 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)
解决方案
您必须在 LSWS 设置中为您的虚拟主机配置媒体上下文。
- 在您的 LSWS 管理 GUI 中,单击虚拟主机
- 单击您正在使用的虚拟主机的名称(默认为示例)
- 单击上下文选项卡
- 单击页面右侧的 + 以添加新上下文
- 选择静态类型
- 将 URI 设置为
/media/
(尾随斜杠是必需的,因为这是一个目录) - 将位置设置为您的文件系统媒体文件夹位置
- 将可访问设置为是
您可以参考静态上下文作为示例。它将以相同的方式设置,但具有不同的 URI 和根。
推荐阅读
- ruby-on-rails - 等待时间后 Sidekiq 排队作业
- matlab - matlab 使用 SizeChangedFcn 不使用指南调用函数
- ios - 将 NSData 加载到 WKWebview 以某种编码格式显示 doc 和 XLS 文件
- php - PhpStorm 编码风格:对齐匿名函数
- ruby-on-rails - 从 Codeanywhere 推送到 Heroku - 预编译资产失败
- python - 排序,分组,并获取特定列值的行和行+1?
- javascript - 在按键上将焦点设置到下一页元素
- javascript - 替换活动 x 对象
- python - 如何实现这个python post并获取?
- npm - SailsJS 没有更新