python – Django – 模板显示模型verbose_names&objects

python – Django – 模板显示模型verbose_names&objects,第1张

概述我需要显示几个型号名称&模板中的对象 这是我的看法 def contents(request): """Lists contents""" objects = [ Model1.objects.all(), Model2.objects.all(), Model3.objects.all(), Model4.objects.all(), ] retu 我需要显示几个型号名称&模板中的对象

这是我的看法

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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1206741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存