【问题标题】:Why does the Django message tags boxs is not working?为什么 Django 消息标签框不起作用?
【发布时间】:2020-02-12 22:52:07
【问题描述】:

我的消息标签有问题。 所以我有一些发送短信的小应用程序。

当我按下提交按钮和我的网页时,如果短信发送正确,则会在屏幕上打印成功消息。(成功消息工作正常。文本和绿色显示正确)但如果消息不是发送,一个message.error被打印,但只打印文本,红色框不打印(这不好,我也想打印红色框)。我在网上搜索了答案,但我没有找到任何东西。谢谢帮助

views.py

 try:
            sms = Client.messages.create(
                from_="+14509001443",
                body=mess,
                to=number
            )
            send = sms.sid
            print("DOne")
            form.instance.author = request.user
            form.save()
            messages.success(request, f'Votre message a bien été envoyé!')
            return redirect("sms-home")
        except:
            print("error")
            messages.error(request, f'Votre message na pas été envoyé!')
            return redirect("sms-home")

home.html

{% extends "sms/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>

{% if messages %}
{% for message in messages %}
<div class="alert alert-{{ message.tags }}">
    {{ message }}
</div>
{% endfor %}
{% endif %}


<div>
    <form method="POST">
        {% csrf_token %}
        {{ form|crispy }}
        <button class="btn btn-outline-info" type="submit" value="Save">SEND</button>
    </form>
</div>


</body>
</html>
{% endblock content %}

【问题讨论】:

    标签: python django django-messages


    【解决方案1】:

    Bootstrap 的警报类是 alert-danger,我很确定 django 的错误标签是 error。因此,您的警报 div 正在使用与定义的任何样式不匹配的类 "alert alert-error" 呈现。

    要解决这个问题,有几个选项:

    1. 生成带有“危险”标签的通用消息。
    2. 自定义引导样式,以便像 alert-danger 一样处理 alert-error
    3. messages.error 调用添加“危险”作为extra_tag,然后处理模板中存在多个标签的可能性。

    实际上,如果您已经需要处理模板中存在多个标签的可能性,我不会感到惊讶。

    【讨论】:

    • 谢谢!我添加了“危险”作为the messages.error 的额外标签,它起作用了
    猜你喜欢
    • 2020-01-01
    • 2019-01-18
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多