程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Django-简单的自定义模板标签示例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Django-简单的自定义模板标签示例?

开发过程中遇到Django-简单的自定义模板标签示例的问题如何解决?下面主要结合日常开发的经验,给出你关于Django-简单的自定义模板标签示例的解决方法建议,希望对你解决Django-简单的自定义模板标签示例有所启发或帮助;

这是我的解决方案(基于自定义标签):

首先创建文件结构。进入需要标签的应用目录,并添加以下文件:

@H_197_6@templateTags templateTags/__init__.py templateTags/vIDeo_Tags.py

该templateTags / vIDeo_Tags.py文件:

@H_197_6@from django import template register = template.library() @register.simple_tag def get_rate(crit, rates): return rates.get(crit=crit).rate

模板部分,带有我们的标记调用:

@H_197_6@{% load vIDeo_Tags %} <div ID="raTing"> <ul> {% for crit in vIDeofile.topic.crits.all %} <li> <div class="rateit" data-rateit-value="{% get_rate crit rates %}" data-rateit-ispreset="true" crit-ID="{{ crit.ID }}"></div> {{ crit }} </li> {% endfor %} </ul> </div>

解决方法

我有用户,视频,主题,标准和评分

  • 一个视频有一个话题
  • 一个主题有规定-
  • 一个用户可以创建一个视频对于一个给定话题
  • 一个用户可以评价一个视频上的每个指标分析为有关给出的话题。
    你可以查看我的原始文章Django-RaTing Model Example DetailView Template以获取有关所使用模型的详细信息

我已经扩展了DetailView基于视频模型的模板,以将给定用户的所选视频的评级列表作为额外的上下文。

@H_197_6@class VideoFileDetailView(DetailView): model = VideoFile def get_context_data(self,**kwargs): context = super(VideoFileDetailView,self).get_context_data(**kwargs) context['rates'] = VideoRate.objects.filter(video=self.object,user=self.request.user) return context

在被指向的模板DetailView,我想列出指标分析中的视频,并为每个标准显示当前额定值形式的用户。

@H_197_6@<div id="raTing"> <ul> {% for crit in videofile.topic.crits.all %} <li> {% for rate in rates %} {% if rate.crit.id == crit.id %} {{ rate.rate }} {% endif %} {% endfor %} <div class="rateit" data-rateit-value="{# The raTing value #}" data-rateit-ispreset="true" crit-id="{{ crit.id }}"></div> {{ crit }} </li> {% endfor %} </ul> </div>

(rateit是一个jquery插件,我用来绘制漂亮的星星评级控件)

实际上,我在2号之内就获得了我的评分值,for但是我敢肯定有更好的方法可以做到这一点。实际上,我仍然不确定模型的正确性。

最后,我想用{# The raTing value #}当前暴击率(在循环中)的额定值代替。我怎样才能做到这一点 ?

大佬总结

以上是大佬教程为你收集整理的Django-简单的自定义模板标签示例全部内容,希望文章能够帮你解决Django-简单的自定义模板标签示例所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。