Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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
Django,每当我刷新页面时,而不是需要时,都会出现引导toast_Django_Bootstrap Toast - Fatal编程技术网

Django,每当我刷新页面时,而不是需要时,都会出现引导toast

Django,每当我刷新页面时,而不是需要时,都会出现引导toast,django,bootstrap-toast,Django,Bootstrap Toast,我想让祝酒词仅在处理文件后出现。 目前,我从model.py检查是否存在另一个文件。 如果是,则文件已被处理。否则就不行了 def status(self): if os.path.exists(...)): return "processed" else: return "unprocessed" 我不确定从model.py检查是否正确 至于我的HTML文件,我设置了以下内容 {% for td in u

我想让祝酒词仅在处理文件后出现。 目前,我从model.py检查是否存在另一个文件。 如果是,则文件已被处理。否则就不行了

def status(self):
    if os.path.exists(...)):
        return "processed"
    else:
        return "unprocessed"
我不确定从model.py检查是否正确

至于我的HTML文件,我设置了以下内容

{% for td in user.userlist.all %}
  {% if td.status == 'processed' %}
      <div class="toast" drole="alert" data-autohide="false" ... >
        <div class="toast-header">
          <strong class="mr-auto">{{ td.status }}</strong>
          <small class="text-muted">just now</small>
          <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
        </div>
        <div class="toast-body">
          The file was {{ td.status }}
        </div>
      </div>
  {% endif %}
{% endfor %}
在HTML文件上,必须将其从for循环中删除

{% if messages %}
  <ul class="messages">
    {% for message in messages %}
        <div class="toast" drole="alert" data-autohide="false" ... >
          <div class="toast-header">
            <strong class="mr-auto">Processed</strong>
            <small class="text-muted">just now</small>
            <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="toast-body">
            {{ message }}
          </div>
        </div>
    {% endfor %}
  </ul>
{% endif %}
{%if消息%}
    {消息%中的消息为%s} 已处理 刚才 &时代; {{message}} {%endfor%}
{%endif%}
您可以使用内置的屏幕来显示祝酒词,这将让您更好地控制何时以及显示什么

您只需在视图中添加消息:

messages.success(request, 'File processed')
然后在模板中显示消息。您甚至可以将显示组件的消息包含在基本模板中,并在所有不同的视图中使用相同的组件。我使用这样的方法(您需要根据引导的具体情况进行调整):


{消息%中的消息为%s}
{%if message.level==DEFAULT_message_LEVELS.ERROR%}哎哟{%endif%}
{{message}}
{%endfor%}
{%block toast_messages%}{%endblock toast_messages%}
您可以使用内置的屏幕来显示祝酒词,这将让您更好地控制何时以及显示什么

您只需在视图中添加消息:

messages.success(request, 'File processed')
然后在模板中显示消息。您甚至可以将显示组件的消息包含在基本模板中,并在所有不同的视图中使用相同的组件。我使用这样的方法(您需要根据引导的具体情况进行调整):


{消息%中的消息为%s}
{%if message.level==DEFAULT_message_LEVELS.ERROR%}哎哟{%endif%}
{{message}}
{%endfor%}
{%block toast_messages%}{%endblock toast_messages%}

谢谢Joseba S。我的解决方案可能有点不同,但这非常有助于将我推向正确的方向。请注意,
if messages.tags
是不需要的,因为Django不会用任何东西代替未设置的variable@artu-hnrq,你说得对!我更新了帖子以反映:)谢谢Joseba S。我的解决方案可能有点不同,但这非常有助于将我推向正确的方向。请注意,
if messages.tags
是不需要的,因为Django不会用任何东西代替未设置的variable@artu-hnrq,你说得对!我更新了帖子以反映这一点:)
   <div class="toast-messages" id="main-toasts">
       {% for message in messages %}
        <div class="toast {{ message.tags }}" role="alert">
            {% if message.level == DEFAULT_MESSAGE_LEVELS.ERROR %}<strong>Ouch!</strong> {% endif %}
            {{ message }}
        </div>
        {% endfor %}
        {% block toast_messages %}{% endblock toast_messages %}
   </div>