我还没有看到任何人实现这种模式,我渴望了解它在技术上是否可行。让我提供一个使用自定义过滤器的模式的示例:
在本例中,“get_widget”过滤器将查找作为第一个参数传入的名称或键的MyWidget对象
模板逻辑
{% get_widget "whizbang" as item %}
<h1>{{item.name}}</h1>
{% get_widget "1234" as item %}
<h1>{{item.name}}</h1>
自定义过滤器
@register.assignment_tag(takes_context=True)
def get_widget(context, widget_name):
try:
return MyWidget.objects.get(name=widget_name)
except MyWidget.DoesNotExist:
return None
但这似乎相当可怕
我想看到的是更具动态性的东西:
例如: 根据MyWidget的名称“whizbang”检索MyWidget的实例,或者使用它的键检索MyWidget的实例。 在模板中:
<h1>{{MyWidget.whizbang}}</h1>
<h1>{{MyWidget.1234}}</h1>
问题有两个方面:
在筛选Python文档之后,它看起来像是
__getattrr__()
和传入类名的组合。我很抱歉回答了我自己的问题。希望这对其他人有用模板
课程
Middlewear上下文处理器
相关问题 更多 >
编程相关推荐