社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

Django中未调用进程模板响应

Saturnix • 6 年前 • 1842 次点击  

views.py 我用 render() .

from django.conf import settings


class NoTrackingMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        response = self.get_response(request)
        return response

    def process_template_response(self, request, response):
        no_tracking = True if request.GET.get("NO_TRACKING", default=False) is not False else False
        pub_id = "PUBLISHER_TEST" if no_tracking is True else settings.WFF_PUB_ID
        response.context_data["no_tracking"] = no_tracking
        response.context_data["pub_id"] = pub_id
        return response

settings.py 我有:

MIDDLEWARE = [
...
    'app.middleware.NoTrackingMiddleware',
]

process_template_response 它会被忽略 pub_id

为什么?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54662
文章 [ 1 ]  |  最新文章 6 年前
solarissmoke
Reply   •   1 楼
solarissmoke    6 年前

documentation (强调我的):

process_template_response() 如果响应实例具有 render() 方法,指示它是 TemplateResponse .

django.http.shortcuts.render ,谁的 documentation

将给定的模板与给定的上下文词典组合并返回 HttpResponse 对象的文本。

Django不提供返回 因为 模板响应 渲染() .

render 返回 ,不是 模板响应 process_template_response 只需要 模板响应 s。

你要么改变你的看法 模板响应 提供 捷径,或在别处执行逻辑。我认为你的逻辑可以在 context processor