だから、私はジャンゴで、このアプリを作ると、このコードを使用しています:ジャンゴ:モデルのクエリ抽出物はテンプレートでループしていない
video_select.pyファイル内のマイテンプレートタグ:
@register.assignment_tag
def content_list():
contentlist = vvideo.objects.all()
return contentlist
マイテンプレート:
{% load video_select %}
<article id="menu" style="height:80%;">
<h2 class="major">Menu</h2>
<div>
{% for contentt in content_list %} {{ contentt.video_path }} {% endfor %}
</div>
<h2 class="major">End Menu</h2>
</article>
これは何も表示しません。しかし、私はなぜそれがわからない。
逆に、単に{%のcontent_listの%}をプリントアウトすると、この出力を印刷ん
[<vvideo: vvideo object>, <vvideo: vvideo object>, <vvideo: vvideo object>, <vvideo: vvideo object>, <vvideo: vvideo object>, <vvideo: vvideo object>]
だから明確テンプレートタグが機能しています。私のmodels.pyには次のものが含まれています:
class vvideo(models.Model):
video_path = models.CharField(max_length=200, blank=True, null=True)
ですので、明らかに.video_path参照も正しいです。
なぜ私のリストがループしていないのか理解してもらえますか?&は印刷されますか?私はテンプレートのタグで直接反復しようとしました、そして、それは働いています。しかし、私は実際には、各ビデオのhrefリンクを作成しようとしているので、テンプレート自体でループを実行したい。だから、私はデータベース内のすべての動画をループし、名前とURLを抽出してそれぞれのリンクを作成する必要があります。これは、各行の出力に必要な2つの項目です:したがって、オブジェクトのリストをテンプレートに送信して、ループの動画のURLと名前を抽出するほうがよいでしょう。
すべてのvideo_pathの値が空白になる可能性はありますか?私は{{contentt.id}}を試して何かが得られるかどうかを確認します –