1
如果我做一個上下文處理器是這樣的:「WSGIRequest」對象沒有屬性
def add_external(request):
context = {"stext":"this is the info"}
return context
,這增加了設置:
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'website.context_processor.add_external',
],
我可以通過{{stext}}
在模板中訪問變量。當我現在在這個模板的鏈接跳進同一個應用另一種觀點認爲我不應該能夠訪問該變量爲:
request.stext
相反,我得到這個錯誤:
'WSGIRequest' object has no attribute 'stext'
什麼我在這裏失蹤?
不,上下文處理器不會向請求對象添加屬性,並且它們當然不會在完全不同的請求中提供數據。你爲什麼認爲這應該起作用? –
你說得對,我試圖做一些技術上完全不可能的事情。我通過使用會話中間件解決了它(儘管代碼在相同的細節-request.session而不是請求中看起來不同),但後臺還是有很多東西在進行着。 –