【发布时间】:2021-11-03 17:03:05
【问题描述】:
我正在尝试在debug=false 时显示静态文件。我正在使用白噪声库,但网站仍然不显示静态文件和媒体文件。我的 settings.py 文件是这样的:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
STATICFILES_STORAGE = 'whitenoise.storage.CompressedStaticFilesStorage'
STATIC_URL = '/static/'
STATIC_DIR = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static")
]
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
网址.py:
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('games.urls')),
path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
path('sentry-debug/', trigger_error),
path('ajax_calls/search/', autocompleteModel),
path('accounts/', include('allauth.urls')),
]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
【问题讨论】:
-
您是否在
urls.py中指定了媒体/静态网址? -
您也可以在已安装的应用中添加这个
whitenoise.runserver_nostatic -
@WillemVanOnsem 我的 urls.py 文件如下:urlpatterns = [ path('admin/', admin.site.urls), path('',include('games.urls')), path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'), path('sentry-debug/', trigger_error), path('ajax_calls/ search/', autocompleteModel), path('accounts/', include('allauth.urls')), ]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
标签: django django-rest-framework whitenoise