gpt4 book ai didi

Django 模板样式和 CSS 随中间件消失

转载 作者:行者123 更新时间:2023-12-04 05:25:16 27 4
gpt4 key购买 nike

我有自定义中间件,当我将它添加到我的 settings.py 中的 MIDDLEWARE_CLASSES 元组时,网站上的所有 css 和图像都消失了,网站上只有文本。

中间件.py

from django.shortcuts import redirect
from django.core import urlresolvers

class AcceptTOSMiddleware(object):
def process_request(self, request):
login_url = urlresolvers.reverse('login')
tos_url = urlresolvers.reverse('tos')
if request.path not in [login_url, tos_url]:
profile = request.user.get_profile()
if not profile.tos:
return redirect(tos_url)
return None

设置.py
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
'pagination.middleware.PaginationMiddleware',
'utils.middleware.AcceptTOSMiddleware'
)

有谁知道为什么会发生这种情况?

最佳答案

  • 这应该 只发生在开发中 ,否则 HTTPD 将为静态文件提供服务,django 方面将无法阻止它,
  • 阅读 runserver 的 控制台输出 ,它应该显示对静态文件的请求响应了 3xx 重定向(可能是 301),
  • 对于开发,你的中间件应该 还检查如果 request.path不以 settings.STATIC_URL 开头也不是 settings.MEDIA_URL , 和 return None在那种情况下。
  • 关于Django 模板样式和 CSS 随中间件消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13273559/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com