我想使用我在整个网站上编写的一些中间件(大量页面,因此我选择不使用装饰器,因为我想对所有页面使用代码)。唯一的问题是我不想将中间件用于管理代码,并且它似乎对它们很活跃。
有什么方法可以配置 settings.py 或 urls.py ,或者代码中的某些内容以防止它在管理系统的页面上执行?
非常感谢任何帮助,
Cheers
Paul
我想要这样做的主要原因是在中间件中使用 XML 解析器,这会搞乱非 XML 下载。我添加了一些额外的代码来检测代码是否为 XML,并且不尝试解析任何不应解析的内容。
对于其他不方便的中间件,我可能会使用上面概述的 piquadrat 方法,或者可能只使用视图装饰器 - 干杯 piquadrat!
一般的方法是(基于 piquadrat 的答案)
def process_request(self, request):
if request.path.startswith(reverse('admin:index')):
return None
# rest of method
这样如果有人改变/admin/
to /django_admin/
你仍然被覆盖。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)