我在共享主机上部署了一个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)
必须在LSWS设置中为虚拟主机配置媒体上下文。
- 在LSWS管理GUI中,单击Virtual Hosts
- 单击正在使用的虚拟主机的名称(默认为Example)
- 点击上下文标签
- 点击页面右侧的+来添加一个新的上下文
- 选择类型Static
- 将URI设置为
/media/
(因为这是一个目录,所以必须使用斜杠) - 设置位置为文件系统媒体文件夹位置
- 将Accessible设置为Yes
您可以参考静态上下文来获取示例。它将以相同的方式设置,但使用不同的URI和根。