在我的Web应用程序中,我正在使用$.ajax()请求从数据库加载数据并在浏览器中显示它.在执行请求期间,我显示如下Loading Results ...消息:
$.ajax({
// ...
beforeSend: function() {
$('#loading-results-message').show();
},
complete: function() {
$('#loading-results-message').hide();
}
});
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,如果没有太多数据要加载,请求只需要几分之一秒.在这种情况下,消息也只显示几分之一秒.这个动画发生得太快,很难识别它.因此,如果只有当请求需要一定的时间,即至少几秒但不仅仅是几分之一秒时才能显示消息,那将是很好的.这有可能吗?顺便说一下,我在服务器端使用Django,如果这很重要的话.
我知道,你已经读过这样的问题一千次甚至更多次了,我也读过这些问题和他们的答案,但是我无法让我的AJAX表单在客户端使用jQuery和服务器上的Django正常工作侧.此外,我无法为像我这样的Python人和JavaScript新手找到一个愚蠢的简单分步教程,这个教程是可以理解和详细的,足以给我一个我急切等待的时刻.
我在HTML页面上有一个表单,当单击提交按钮时,HttpResponse应该只使用JavaScript的alert()功能提醒相应的,但它不起作用.当我提交表单时,我在Django的开发服务器控制台中找到以下条目:
"POST /ajaxtest/%5Bobject%20Object%5D HTTP/1.1" 404 2381
Run Code Online (Sandbox Code Playgroud)
请告诉我我的代码有什么问题.非常感谢你提前!
forms.py
from django.db import forms
class AjaxTestForm(forms.Form):
first_name = forms.CharField()
last_name = forms.CharField()
Run Code Online (Sandbox Code Playgroud)
views.py
from django.http import HttpResponse
from django.shortcuts import render
from my_app.forms import AjaxTestForm
def ajax_test(request):
if request.is_ajax() and request.method == 'POST':
form = AjaxTestForm(request.POST)
if form.is_valid():
print request.POST
# I want this to be alerted
return HttpResponse('Your AJAX form test was successful!')
else:
return HttpResponse('Your AJAX form test failed miserably!')
else:
form = AjaxTestForm()
return …Run Code Online (Sandbox Code Playgroud) 我有一个整数列表:
list = [a,b,c,d]
Run Code Online (Sandbox Code Playgroud)
我想将它转换为这些范围:
0..a
a+1..a+b
a+b+1..a+b+c
a+b+c+1..a+b+c+d
Run Code Online (Sandbox Code Playgroud)
任何想法如何在python中做到这一点?
谢谢
我有一本名为eval_params这样的字典:
In [1]: eval_params
Out[1]:
{1: {'CLF': 'EMNB',
'EM': 'False',
'FEA': 'words',
'NGRAM': '1-1',
'PDS': 'T',
'PSE': '-',
'RN': '1dnf',
'STEM': 'False',
'UDS': 'He'},
2: {'CLF': 'EMNB',
'EM': 'False',
'FEA': 'words',
'NGRAM': '1-1',
'PDS': 'TS',
'PSE': '-',
'RN': '1dnf',
'STEM': 'False',
'UDS': 'He'},
3: {'CLF': 'EMNB',
'EM': 'False',
'FEA': 'words',
'NGRAM': '1-1',
'PDS': 'T',
'PSE': '-',
'RN': '1dnf',
'STEM': 'False',
'UDS': 'Te'}}
Run Code Online (Sandbox Code Playgroud)
我必须通过某些使用内置函数的谓词来过滤该字典filter:
In [2]: filter(pred_func, eval_params.iteritems())
Out[2]:
[(3,
{'CLF': 'EMNB',
'EM': 'False',
'FEA': 'words',
'NGRAM': …Run Code Online (Sandbox Code Playgroud) 假设你有一个这样的字典:
d = {
'A': 'content_for_A',
'B': 'content_for_B'
}
Run Code Online (Sandbox Code Playgroud)
在两个条目之间交换值的最有效方法是什么?所以结果应该是这样的:
d = {
'A': 'content_for_B',
'B': 'content_for_A'
}
Run Code Online (Sandbox Code Playgroud)
当然,您可以创建一个新的字典d2,d2['A'] = d['B']; d2['B'] = d['A']但是这是推荐的方式还是有效的方式而不需要创建新的字典?