首页 > 解决方案 > django 中是否可以有一个媒体 url 和一个 satic url

问题描述

这是我的主要 urls.py 文件

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('base.urls'))
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我可以有静态文件的 url 模式以及媒体文件的 url 模式吗?谢谢

标签: pythondjangodjango-urls

解决方案


的,这实际上很常见,您只需添加static两次:一次用于媒体,一次用于静态文件:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('base.urls'))
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

然而,Django 不会生产中提供静态文件或媒体文件:如果您将DEBUG设置 [Djang-doc] 设置False,那么这些视图将不再提供数据。您需要配置网络服务器(如 apache、nginx 等)以提供文件。


推荐阅读