擅长:python、mysql、java
<p>这里有一种没有线程局部变量或中间件的可能方法:在<code>views.py</code>中,有一个dict映射线程到请求,并有一个锁来序列化对它的访问:</p>
<pre><code>from threading import RLock
shared_data_lock = RLock()
request_map = {}
def set_request(request):
with shared_data_lock:
request_map[threading.current_thread()] = request
</code></pre>
<p>创建以下筛选器并附加到需要输出请求特定信息的处理程序:</p>
^{pr2}$
<p>然后,作为每个视图的第一个语句,在映射中设置请求:</p>
<pre><code>def my_view(request, ...):
set_request(request)
# do your other view stuff here
</code></pre>
<p>使用此设置,您应该会发现日志输出包含相关的请求特定信息。在</p>