Python Django上下文处理器中的变量
我想在上下文处理器中注册一个变量,但出现的问题是它不工作,也不显示任何错误 views.py:-Python Django上下文处理器中的变量,python,django,function,error-handling,Python,Django,Function,Error Handling,我想在上下文处理器中注册一个变量,但出现的问题是它不工作,也不显示任何错误 views.py:- def newmessage(request): getmessagevalue = interview.objects.all() return {'getmessagevalue': getmessagevalue } settings.py:- TEMPLATE_CONTEXT_PROCESSORS = ( "django.contrib.auth.context_p
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
对象,因此它返回一个空查询集
帮助调试的另一个选项是安装。它有一个模板
面板,显示模板上下文处理器的输出
还有几点建议:
- 命名您的模型
,并在方法Interview
和变量new\u message
名称中使用下划线get\u message\u value
- 将上下文处理器放在单独的模块
userprofile.context\u处理器中,而不是放在视图模块中
如果遵循这些约定,有经验的python和Django开发人员将更容易阅读您的代码,因此您更有可能获得问题的答案。如何在html(模板)代码中访问这些值?