Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-模板标记,显示<;ul>;-&书信电报;李>;_Python_Html_Django_Django Templates - Fatal编程技术网

Python Django-模板标记,显示<;ul>;-&书信电报;李>;

Python Django-模板标记,显示<;ul>;-&书信电报;李>;,python,html,django,django-templates,Python,Html,Django,Django Templates,我有一个这样的工作模型.py,我可以使用Django admin将记录添加到此模型: from django.db import models from django.contrib import admin from audiofield.fields import AudioField # Create your models here. class Music(models.Model): tittel = models.CharField(max_length=20, defa

我有一个这样的工作模型.py,我可以使用Django admin将记录添加到此模型:

from django.db import models
from django.contrib import admin
from audiofield.fields import AudioField

# Create your models here.
class Music(models.Model):
    tittel = models.CharField(max_length=20, default = "titel her")
    artist = models.CharField(max_length=20, default = "Artist")
    cover = models.FileField("Cover", upload_to="player/cover/")
    audio = AudioField(upload_to='player/audio/', blank=True, ext_whitelist=(".mp3",".wav",".ogg"))
    is_active = models.BooleanField(("is active"), default = False)
    date_created = models.DateField(verbose_name="Created on date", auto_now_add="True")

class MusicAdmin(admin.ModelAdmin):
    list_display = ('tittel', 'artist', 'cover', 'audio', 'is_active', 'date_created')
我想使用模板标记在我的index.html中显示它的记录。 我的音乐应用程序文件夹结构:

.
├── admin.py
├── __init__.py
├── models.py
├── templatetags
│   ├── __init__.py
│   ├── musikk_tags.py
├── tests.py
└── views.py
音乐_tag.py:

from django import template
from music import models

register = template.Library()

@register.assignment_tag
def get_music_tags():
    return models.Music.objects.all()
我试图在index.html中使用这样的模板标记:(我只想显示活动记录)

    {%load musikk_tags%} {%get_musikk_标记为musikk%} {%if musikk.isactive%}
  • {{{musikk.tittel}
  • {%endif%}
我没有收到任何错误,但仍然没有音乐显示。 不使用音乐应用程序时,请按如下方式硬编码列表:

<ul><li audiourl="01.mp3" cover="cover1.jpg" artist="Artist 1">01.mp3</li></ul>
  • 01.mp3

一切正常。模板标签肯定有什么问题。提前谢谢你

get\u music\u tags
返回一个queryset(在本例中为所有音乐对象的集合)。查询集本身没有
isactive
audio
cover
属性:只有查询集中的单个项才有。您需要对它们进行迭代:

{% get_musikk_tags as all_musikk %}
{% for musikk in all_musikk %}
    {% if musikk.isactive %}

        <li audiourl="{{ musikk.audio.url }}" cover="{{musikk.cover.url}}" artist="{{musikk.artist}}">{{musikk.tittel}}</li>
    {% endif %}
{% endfor %}
{%get_musikk_标记为all_musikk%}
{musikk在所有音乐中的百分比_musikk%}
{%if musikk.isactive%}
  • {{{musikk.tittel}
  • {%endif%} {%endfor%}
    谢谢您解决了这个问题!(必须将isactive更改为is_active)
    {% get_musikk_tags as all_musikk %}
    {% for musikk in all_musikk %}
        {% if musikk.isactive %}
    
            <li audiourl="{{ musikk.audio.url }}" cover="{{musikk.cover.url}}" artist="{{musikk.artist}}">{{musikk.tittel}}</li>
        {% endif %}
    {% endfor %}