有一个模板标记,它从列表中返回一个随机元素。我还需要保存列表中的所有元素以及在上下文中选择的元素,然后在django调试工具栏面板中描述这些信息。在
from django import template
import random
register = template.Library()
@register.simple_tag(takes_context=True, name='pickrandomelementtag')
def pickrandomelementtag(context, list_of_random_elements):
context.dicts[0]["key18"] = "value19"
return random.choice(list_of_random_elements)
所以我用给定的行测试设置变量功能:
^{pr2}$我可以在模板中访问{{key18}},但我的目标是以以后(全局)可以访问的方式设置这个变量从django调试工具栏面板。这就是我被困的地方。在
这是我的django调试工具栏面板.py文件:
from debug_toolbar.panels import Panel
from django.template.loader import render_to_string
from django.utils.translation import ugettext_lazy as _
from django.template.response import SimpleTemplateResponse
class RandomPanel(Panel):
name = "RandomPanel;"
has_content = True
template = 'panels/randompanel.html'
def title(self):
return _('Random Panel')
def generate_stats(self, request, response):
print('that is where I need to access key18')
self.record_stats(
{
"request": request
}
)
我如何访问RandomPanel类对象的generate_stats
方法中的上下文变量key18
?或者,context
是在模板标记中设置自定义龋齿的错误位置,您是否建议其他方法?非常感谢!在
实际上,您可以将信息存储在请求本身中。假设}(默认设置中有)
context_processor
有{你可以使用这个对象中的信息。在
相关问题 更多 >
编程相关推荐