django 如何同时使用静态文件和媒体

bkhjykvo  于 2022-12-20  发布在  Go
关注(0)|答案(1)|浏览(149)

是否可以在项目中同时使用静态文件和媒体?因为所有教程都只使用其中一种。

MEDIA_URL= 'media/'
MEDIA_ROOT = BASE_DIR / 'media'

STATIC_URL = 'static/'
STATIC_ROOT = BASE_DIR / 'static/'
STATICFILES_DIRS = BASE_DIR / 'static/

我把这个写在了设置上。我应该怎么修改urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('pages.urls')),
    path('users/',include('users.urls')),
    path('users/',include('django.contrib.auth.urls')),
    ] + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

我这样写,但我应该如何添加静态网址?

h5qlskok

h5qlskok1#

static函数生成的两个列表相加,因此:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('pages.urls')),
    path('users/', include('users.urls')),
    path('users/', include('django.contrib.auth.urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

不过请注意Django在生产中不提供静态或媒体文件,您必须设置nginx、apache或其他Web服务器才能做到这一点。

相关问题