这是我的看法
def contents(request): """Lists contents""" objects = [ Model1.objects.all(),Model2.objects.all(),Model3.objects.all(),Model4.objects.all(),] return render_to_response('content/contents.HTML',obJs,context_instance=RequestContext(request) )
还有我的模板
{% for obJs in objects %} <div > <div >{{ obJs._Meta.verbose_name }}</div> <ul> {% for obj in obJs %} <li>{{ obj }}</li> {% endfor %} </ul> </div>{% endfor %}
当然obJs._Meta.verbose_name不起作用
有没有办法访问这个详细的名称,而无需为每个模型创建一个函数或从每个模型的视图中分配值?
解决方法 为了在模板中访问它,您现在可能已经注意到Django不允许您使用下划线前缀来访问模板中的属性.因此,无需在每个模型上创建模型方法,访问任何给定对象的详细名称的最简单方法是创建模板标记:@register.simple_tag def get_verbose_name(object): return object._Meta.verbose_name
不相关,但您的模板中有一个错误,因为您尝试访问查询集而不是对象的_Meta属性.所以你的标题行应该看起来像:
{% with obJs|first as obj %} <div >{% get_verbose_name obj %}</div>{% enDWith %}总结
以上是内存溢出为你收集整理的python – Django – 模板显示模型verbose_names&objects全部内容,希望文章能够帮你解决python – Django – 模板显示模型verbose_names&objects所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)