【问题标题】:show loading gif during long processing in django?在 django 的长时间处理过程中显示加载 gif?
【发布时间】:2016-03-11 20:02:00
【问题描述】:

我使用 Django 1.8 做我的项目。我想在调用 key_generate 函数时放一个 GIF。我怎样才能使用 Django 做到这一点。我将此问题提交给reference Link,但我不明白如何将它应用到我的代码中。 这是我的视图函数。

from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
from django.shortcuts import get_object_or_404, redirect, render
from django.core.exceptions import PermissionDenied
from django.http import HttpResponse
from django.utils.timezone import now

from django.shortcuts import render_to_response

from .forms import BookmarkForm
from .models import Bookmark

from .forms import KeyGenarateForm
from .models import Key_Gen
from .algo import  algo

from pymongo import MongoClient
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger


@login_required
def key_create(request):
    #print(request.POST)

    if request.method == 'POST':
        form = KeyGenarateForm(data=request.POST)


        expier_date = request.POST['expier_date']

        if form.is_valid():
             #request.POST._mutable = True
             Key_Gen = form.save(commit=False)
             Key_Gen.save(expier_date)
             return redirect('marcador_bookmark_user',username=request.user.username)
        else:
            print('form not valied')
    else:
        form = KeyGenarateForm()


    context = {'form': form, 'create_key': True}
    return render(request, 'marcador/key_genarate_form.html', context)

这是我的表单类。

{% extends "base.html" %}
{% load crispy_forms_tags %}

{% block title %}
  {% if create %}Create{% else %}New Key{% endif %}Serious
{% endblock %}

{% block heading %}
  <h2>
      Create New Serial Keys
  </h2>
{% endblock %}

{% block content %}
  {% if create %}
    {% url "marcador_key_create" as action_url %}
  {% else %}
    {% url "marcador_bookmark_search" pk=form.instance.pk as action_url %}
  {% endif %}
  <form action="{{ action_url }}" method="post" accept-charset="utf-8" >
    {{ form|crispy }}
    {% csrf_token %}
    <p> <b>Expiry Date*:</b>  <input type="date" id="datepicker" name="expier_date"></p>
    <p><input type="submit" class="btn btn-default" value="Save" ></p>
  </form>
{% endblock %}

进一步说明:

我使用这个论坛生成了 10000 个序列号。

此密钥存储在 mongoDB 数据库中。系统花费 3 -4 分钟完成这项任务。我想在这段时间内显示一些东西 [示例:加载图像或等待消息]。

【问题讨论】:

  • 你应该更新它而不是deleting your question
  • @Sayse 感谢您的建议。我需要一些帮助来创建我的要求。如果可以的话,我非常感谢。
  • @Sayse 我想你可以帮帮我。请高兴很多。对不起我的英语不好。我想你能理解我想做什么。
  • 对我来说完全不清楚您要做什么。
  • @Wtower 先生,我想显示一些加载图像或一些消息,当单击上面的屏幕截图保存按钮时。 [我想显示此消息,直到数据保存在数据库中] 换句话说,我想显示此消息直到结束执行'key_create'方法。先生,您能帮帮我吗?

标签: javascript python ajax django django-views


【解决方案1】:

您可以为此目的使用Block UI,它是一个JavaScript 库。

&lt;input type="submit" class="btn btn-default" value="Save" &gt; 替换为

<button type="button" class="btn btn-default" onclick="submit_form()">Save</button>

使用 JavaScript 提交您的表单,并在提交表单时显示您想要显示的图像。您可以观看演示 ​​here

【讨论】:

    猜你喜欢
    • 2012-01-09
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    相关资源
    最近更新 更多