Python 在Django中,当文件准备就绪时在UI上显示字符串
我想做下一步 当按下提交按钮时,Django生成一些文件(需要一些时间,大约一分钟) 我想,旁边的提交按钮将出现另一个按钮下载(本地)这个文件时,生成完成 屏幕截图: HTML:Python 在Django中,当文件准备就绪时在UI上显示字符串,python,html,django,Python,Html,Django,我想做下一步 当按下提交按钮时,Django生成一些文件(需要一些时间,大约一分钟) 我想,旁边的提交按钮将出现另一个按钮下载(本地)这个文件时,生成完成 屏幕截图: HTML: {% load bootstrap %} <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-wi
{% load bootstrap %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<title>Create SWM Client Environment</title>
</head>
<body>
<nav class="navbar navbar-dark bg-dark">
<h4 style="color: aliceblue;">Create SWM client environment</h4>
</nav>
<div style="padding: 20px;">
<form method="post">
{% csrf_token %}
<div class="form-group container w-25">
{{ form|bootstrap }}
</div>
<div class="container w-25">
<button type="reset" class="btn btn-primary">Reset</button>
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
</div>
</body>
</html>
class ContactForm(forms.Form):
swm_server = forms.CharField(
label='server',
widget=forms.TextInput(attrs={'placeholder': 'Server IP or Server DNS'}))
def clean(self):
cleaned_data = super(ContactForm, self).clean()
swm_server = cleaned_data.get('swm_server')
def home(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
pass # does nothing, just trigger the validation
else:
form = ContactForm()
return render(request, 'home.html', {'form': form})
视图:
{% load bootstrap %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<title>Create SWM Client Environment</title>
</head>
<body>
<nav class="navbar navbar-dark bg-dark">
<h4 style="color: aliceblue;">Create SWM client environment</h4>
</nav>
<div style="padding: 20px;">
<form method="post">
{% csrf_token %}
<div class="form-group container w-25">
{{ form|bootstrap }}
</div>
<div class="container w-25">
<button type="reset" class="btn btn-primary">Reset</button>
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
</div>
</body>
</html>
class ContactForm(forms.Form):
swm_server = forms.CharField(
label='server',
widget=forms.TextInput(attrs={'placeholder': 'Server IP or Server DNS'}))
def clean(self):
cleaned_data = super(ContactForm, self).clean()
swm_server = cleaned_data.get('swm_server')
def home(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
pass # does nothing, just trigger the validation
else:
form = ContactForm()
return render(request, 'home.html', {'form': form})
你已经试过什么了?你的代码在哪里?生成文件的代码在哪里?如何异步运行它,使其不会阻塞请求?通常,您想要的不是我们可以简单回答并提供代码的东西:您需要启动一个异步任务,并且希望能够检查任务的完成情况。在django芹菜中搜索允许您分派任务的包。并搜索“ajax调用django”,使用javascript对django进行API调用,以检查文件的状态。