[英]Variable in Django Context Processor
我想在上下文處理器中注冊一個變量,但是發生的問題是它不起作用並且不顯示任何錯誤。
views.py:-
def newmessage(request):
getmessagevalue = interview.objects.all()
return {'getmessagevalue': getmessagevalue }
settings.py:-
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.static",
"django.core.context_processors.media",
"django.core.context_processors.request",
"django.core.context_processors.tz",
"userprofile.views.newmessage"
)
我該怎么辦,錯誤和值不顯示。
您顯示給我們的代碼對我來說還不錯。 您需要確保您的視圖(未顯示)正在使用請求上下文呈現模板。 有關更多信息, 請參閱文檔 。
將日志記錄或打印語句添加到上下文處理器,以確保它在您的視圖中運行。 也許您的數據庫中沒有interview
對象,所以它返回一個空的查詢集。
另一個有助於調試的選項是安裝Django調試工具欄 。 它具有一個“ Template
面板,向您顯示模板上下文處理器的輸出。
另外一些建議:
Interview
,並為方法new_message
和變量get_message_value
名稱使用下划線。 userprofile.context_processors
而不是在視圖模塊中。 如果遵循這些約定,那么經驗豐富的python和Django開發人員就可以更輕松地閱讀代碼,因此更有可能獲得問題的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.