大佬教程收集整理的这篇文章主要介绍了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>
我有用户,视频,主题,标准和评分
我已经扩展了DetailView
基于视频模型的模板,以将给定用户的所选视频的评级列表作为额外的上下文。
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
,我想列出指标分析中的视频,并为每个标准显示当前额定值形式的用户。
<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
但是我敢肯定有更好的方法可以做到这一点。实际上,我仍然不确定模型的正确性。
以上是大佬教程为你收集整理的Django-简单的自定义模板标签示例全部内容,希望文章能够帮你解决Django-简单的自定义模板标签示例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。