django模板语句if!= Null不起作用

问题描述 投票:0回答:1

@固定

我遇到模板标签{% if ... in ... %}的问题。如果对象不存在(等于Null),我正在尝试编写语句,然后不显示任何内容。我的模型很少有领域可以链接到各种媒体,如Instagram,脸书,推特等。并不是每个公司都得到了我们所知道的社交媒体。问题是那些If语句不能正常工作(我检查了django文档),例如,如果公司已添加到所有社交媒体(twitter,fb,instagram,linkedin,website)的链接,它应显示带有链接的图像他们。但如果公司没有添加社交媒体或网站的任何链接,它就不应该显示图像。我不知道为什么这些陈述不起作用

关于图像,如果我删除循环{% for ... %} {% endfor %}然后它显示所有图像,即使公司没有关联任何链接所以这if语句也不起作用然后

/编辑

我不得不改变这些陈述

% if brand.website != None %}

{% if brand.website %}

它解决了所有问题

comp_view.html

<div class="social-media">
{% for brand in brands %
{% if brand.website != None %}
    <a class="" href="{{ brand.website }}">
        <img src="/static/icons/website.png">
    </a>
{% endif %}

{% if brand.facebook != None %}
    <a class="" href="{{ brand.facebook }}">
        <img src="/static/icons/facebook.png">
    </a>
{% endif %}

{% if brand.instagram != None %}
<a class="" href="{{ brand.instagram }}">
    <img src="/static/icons/instagram.png">
</a>
{% endif %}

{% if brand.twitter != None %}
    <a class="" href="{{ brand.twitter }}">
        <img src="/static/icons/twitter.png">
    </a>
{% endif %}

{% if brand.linkedin != None %}
    <a class="" href="{{ brand.linkedin }}">
        <img src="/static/icons/linkedin.png">
    </a>
{% endif%}
{% endfor %}
</div>

views.朋友

def brands(request, slug):
    brand = get_object_or_404(Company, slug=slug)
    return render(request, 'company/comp_view.html', {'brand': brand})

models.朋友

class Company(models.Model):
    ...
    technologies = models.ManyToManyField('Stack')
    website = models.TextField(max_length=150, blank=True, null=True, validators=[URLValidator()])
    facebook = models.TextField(max_length=150, blank=True, null=True, validators=[URLValidator()])
    instagram = models.TextField(max_length=150, blank=True, null=True, validators=[URLValidator()])
    twitter = models.TextField(max_length=150, blank=True, null=True, validators=[URLValidator()])
    linkedin = models.TextField(max_length=150, blank=True, null=True, validators=[URLValidator()])
django django-templates
1个回答
1
投票

好的,我得到了这个,问题是

{% if brand.website != Null %}

所以我认为django不知道这句话是什么意思。虽然我把它改成了

{% if brand.website %}

然后它应该工作,如果公司在网站领域有任何链接,然后它显示图像 - 图标,但如果公司没有网站字段中的链接,它不显示图像 - 图标。

很抱歉打开答案,我应该已经检查了没有qazxsw poi的声明

© www.soinside.com 2019 - 2024. All rights reserved.