我已经使用django很长一段时间了,直到现在我使用它没有任何问题.
当我在终端中运行py manage.py runserver 127.0.0.1:8000它显示
执行系统检查......
系统检查未发现任何问题(0静音).2015年7月23日 - 16:17:23 Django 1.8.3版,使用设置'projectname.settings'启动开发服务器http://127.0.0.1:8000/使用CTRL-BREAK退出服务器.执行系统检查......
然后当我在浏览器中打开它时,它没有向我显示任何内容.它只是加载和加载和加载..
我试过谷歌搜索它,但有些人建议我改变我的端口,所以我改变它,有人说我的ipaddress使用了8000以外的端口,我做了但没有任何帮助我.它一直停留在加载页面上.
我正在使用django 1.8.3.在Windows btw上运行它
我对如何继续我的程序感到有点困惑.我有一个django视图,要求用户输入名字和姓氏,然后这将转到芹菜任务,该任务处理数据并将其保存到数据库.现在,当任务正在处理时,我希望显示一个动画gif,这样用户就会知道发生了什么事情.(我在这里读到了某处,动画gif更好)然后如果任务完成,它将重定向到一个页面,告诉用户该过程已完成.我做了我的研究,发现我应该task_id把它发送给ajax请求.
我的问题是如何使用ajax.如何从ajax获取task_id?或者将task_id传递给ajax请求.
编辑:**我知道这是不完整的.非常不完整**
这是我的一些代码.它没有做太多,因为我仍然需要掌握使用ajax的概念.但我想要的是当我提交表格时,旋转器gif会出现,同时,芹菜将处理我的任务.当芹菜完成处理任务后,它将重定向到一个显示"成功"或任何内容的页面.
views.py:
def addUser(request):
if request.method == 'POST':
addUser = userform(request.POST)
if addUser.is_valid():
task = create_user.apply_async((addUser.cleaned_data,), countdown=20)
return render_to_response('loading.html', {'task_id': task.task_id})
else:
addUser = userform()
return render(request, 'addUser.html', {'addUser':addUser})
Run Code Online (Sandbox Code Playgroud)
addUser.html
<form method="POST">
{% csrf_token %}
{{ addUser }}
<input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)
loading.html
<html>
<script>
<head>
<script src="{{ STATIC_URL }}js/jquery-ui.min.js"></script>
<script type="text/javascript">
var formData = task_id; // task id of my celery task
$.ajax({
url : "templates/success.html", //from what I know, this URL is where …Run Code Online (Sandbox Code Playgroud)