我对Django相当陌生,我正试图找出如何在不重新加载页面的情况下动态添加来自python脚本的内容。在
目前,我的视图.py文件。一个处理上载文件(home),另一个处理调用python脚本并处理文件(handle)。我这样分开它的原因是,我想在python脚本处理上载的文件时按顺序填充HTML表。在
但是,我的ajax函数没有从handle函数的http响应接收任何数据,我不确定原因。成功函数和错误函数都没有被调用。这真的很奇怪,因为视图.py打印成功。在
视图.pyi=0
uploaded_file = None
def home(request):
if (request.method == 'POST'):
file_form = UploadFileForm(request.POST, request.FILES)
if file_form.is_valid():
global uploaded_file
uploaded_file = request.FILES['file']
print(uploaded_file)
else:
file_form = UploadFileForm()
return render(request, 'personal/home.html', {'form': file_form})
def handle(request):
# TODO make ajax wait for a response from 'home'
# so I don't have to wait for 1 second
time.sleep(1)
data = {}
data['Name'] = fileName(uploaded_file)
if(request.is_ajax()):
print(data) # prints succesfully
return HttpResponse(json.dumps(data),
content_type="application/json")
主页.html
^{pr2}$
网址.pyurlpatterns = [
path(r'', views.home, name='home'),
path(r'handler', views.handle, name='handle'),
]