Django和Bootstrap:防止出现空字符串时出现警告框

Posted

技术标签:

【中文标题】Django和Bootstrap:防止出现空字符串时出现警告框【英文标题】:Django and Bootstrap: prevent warning box from appearing if there is an empty string 【发布时间】:2021-09-20 13:17:08 【问题描述】:

如果有message,我正在使用 Django 模板和 Bootstrap 呈现红色警报框。代码是:

views.py

else:
    return render(request, 'auctions/listing.html', 
        'listing': listing,
        'form': BidForm(),
        'message': '',
        'comments': listing.comments.all()
    )

listing.html

<div>
    <p>Starting Bid:  listing.starting_bid</p>
    <p>Current Bid:  listing.price </p>
    <div class="alert alert-danger" role="alert" style="display: inline-block;">
         message 
    </div>
</div>

如果没有消息(即空字符串),则呈现红色警告框,这看起来很明智和直观。但是,当我从 views.py 中删除 message 时,红色警告框仍然呈现。

    else:
        return render(request, 'auctions/listing.html', 
            'listing': listing,
            'form': BidForm(),
#            'message': '',
            'comments': listing.comments.all()
        )

我在这里做错了什么?谢谢!

【问题讨论】:

【参考方案1】:

只检查message是否不为空,然后只显示。

此代码仅在 message 不为空时显示警报。

% if message %
<div class="alert alert-danger" role="alert" style="display: inline-block;">
         message 
    </div>
% endif %

【讨论】:

以上是关于Django和Bootstrap:防止出现空字符串时出现警告框的主要内容,如果未能解决你的问题,请参考以下文章

Django 查询返回空字符串

Django CharField 不默认为空字符串

Python Django 模板和测试变量是不是为空或空字符串

13.django之分页

Django:查找非空字符串的优雅方式

为啥django在扩展后生成空字符串?