Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站!
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。
Ajax
很多时候,我们在网页上请求操作时,不需要刷新页面。实现这种功能的技术就要Ajax!
jQuery中的ajax就可以实现不刷新页面就能向后台请求或提交数据的功能,我们仍然用它来做django中的ajax,所以先把jquey下载下来,版本越高越好。
一、ajax发送简单数据类型:
html代码:在这里我们仅发送一个简单的字符串
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-"> <title></title> </head> <body> <input type="button" onclick="AjaxSubmit();" value="提交"> <script src="/static/jquery-...min.js"></script> <script> function AjaxSubmit(){ var host = '...'; var port = ''; $.ajax({ url:"/app/ajax_submit/", type:'POST', data:{host:host,port:port}, success: function (arg) { } }); } </script> </body> </html>
django下app里views.py
# coding:utf-8 from django.shortcuts import render,HttpResponse def ajax_submit(request): print request.POST #客户端发来的数据 return render(request,'ajax_submit.html')
打印出来的数据样式:
二、ajax发送复杂的数据类型:
html代码:在这里我们仅发送一个列表中包含字典数据类型
由于发送的数据类型为列表 字典的格式,我们提前要把它们转换成字符串形式,否则后台程序接收到的数据格式不是我们想要的类型,所以在ajax传输数据时需要JSON
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-"> <title></title> </head> <body> <input type="button" onclick="AjaxSubmit_set();" value="提交集合"> <script src="/static/jquery-...min.js"></script> <script> function AjaxSubmit_set(){ var data_list = [ {'name':'chenchao','age':}, {'name':'lisi','age':}, {'name':'wangwu','age':} ]; $.ajax({ url:"/app/ajax_submit_set/", type:'POST', tradition:true, 原生模式 data:{data:JSON.stringify(data_list)}, success: function (arg) { } }); } </script> </body> </html>
django下app里views.py
def ajax_submit_set(request): print request.POST return render(request,'ajax_submit.html')
打印出来的数据样式:
三、稍等、还没完。
虽然我们实现了功能,但这还不够,因为显得不是很专业,所以我们稍作处理。
success: function (arg) { } 如果ajax提交数据成功,那么就会自动执行这里面的函数
html代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-"> <title></title> </head> <body> <input type="button" onclick="AjaxSubmit();" value="提交"> <input type="button" onclick="AjaxSubmit_set();" value="提交集合"> <script src="/static/jquery-...min.js"></script> <script> function AjaxSubmit(){ var host = '...'; var port = ''; $.ajax({ url:"/app/ajax_submit/", type:'POST', data:{host:host,port:port}, success: function (arg) { } }); } function AjaxSubmit_set(){ var data_list = [ {'name':'chenchao','age':}, {'name':'lisi','age':}, {'name':'wangwu','age':} ]; $.ajax({ url:"/app/ajax_submit_set/", type:'POST', tradition:true, data:{data:JSON.stringify(data_list)}, success: function (arg) { //如果程序执行成功就会执行这里的函数 var callback_dic = $.parseJSON(arg); if(callback_dic.status){ alert('成功'); }else{ alert(callback_dic.error); //把错误的信息从后台提出展示出来 } } }); } </script> </body> </html>
django下app里views.py
# coding:utf- from django.shortcuts import render,HttpResponse,redirect def ajax_submit(request): print request.POST return render(request,'ajax_submit.html') import json def ajax_submit_set(request): ret = {'status': True,'error': ""} try: print request.POS except Exception, e: ret['status'] = False ret['error'] = str(e) j_ret = json.dumps(ret) return HttpResponse(j_ret)
Django中ajax的使用
前端的ajax代码如下所示:
$.ajax({ type:'GET', url:'/store/ds_mgmt_wx/ajax_handle', dataType:'html', success:function(data) { alert(data); }, error:function(data) { alert(data); } });
后端的相应代码的返回方法如下:
if act_job == 'ajax_handle': return HttpResponse('ajax_handle')
关于Django中的Ajax小编就给大家介绍到这里,希望对大家有所帮助!
问题内容: 我在执行get请求而不是在post请求期间收到此 错误 。 错误:- / StartPage /处的MultiValueDictKeyError 请求方法:GET请求URL: Django版本:1.4异常类型:MultiValueDictKeyError异常值: “在“中找不到密钥’用户名’ views.py urls.py main_page.html Start_Page.html
问题内容: 所以我有个约会模特 我想在工具中实现这一点。我不确定如何开始。任何帮助表示赞赏。谢谢。 问题答案: 由于您的问题表明您没有尝试过任何东西,因此猜测您知道javascript,并尝试了一些完整的日历js。 假设您有一个名为Event的模型,用于在日历中显示不同的事件。 在您的views.py中 最后在模板中设置完整日历,其中包括必要的CSS,JS文件和HTML代码。然后, 动态地处理某些
本文向大家介绍Django中的ajax请求,包括了Django中的ajax请求的使用技巧和注意事项,需要的朋友参考一下 需求:实现ajax请求,在界面上任意地方点击,可以成功传参。 创建项目如下所示: settings.py文件的设置,这次我们除了要注册app和设置templates文件夹的路径,还要多设置一下static的路径,代码如下: 首先,先对界面做处理,设置高为100%,然后引入我们所需
问题内容: 用作所有其他页面的基本模板。有导航栏,在导航栏中,我想显示用户收到的消息数。因此,我需要有一个变量一样的。 但是,应如何将此变量传递给它?每个模板都会扩展并由一个函数呈现。我认为返回所有函数不是一个好方法。有更好的方法来实现这一点吗?如何将此变量传递给所有模板? 问题答案: 看看: https //docs.djangoproject.com/en/dev/ref/templates/
问题内容: 在我的应用程序中,当保存模型时,我需要保存更改的值(旧值和新值)。任何示例或工作代码? 我需要这个来预审内容。例如,如果用户更改了模型中的某些内容,则管理员可以在单独的表中查看所有更改,然后决定是否应用它们。 问题答案: 您还没有对您的特定用例或需求说太多。特别是,了解更改信息(需要存储多长时间?)将很有帮助。如果仅出于临时目的而存储它,@ S.Lott的会话解决方案可能是最好的。如果
Django所有地方都原生地支持Unicode数据。只要你的数据库能存储数据,你就可以安全地把Unicode字符串传递到模板、模型和数据库中。 本文档告诉你如果当你写用到非ASCII的数据或者模板的应用时,你需要知道什么。 创建数据库 确认你的数据库配置可以存储任意字符串数据。一般来讲,这意味着给它一个UTF-8或者UTF-16的编码方式。如果你用了更具约束性的编码 – 例如latin1 (iso
问题内容: 无论如何,在Django中是否可以为双外键建模? 例如,如果我有以下表格:音频,覆盖,html和表格:timeline_item,它具有一个字段ID,以及一个指定音频,覆盖或html的字段类别… 有谁知道我将如何在Django中进行建模?甚至有可能吗? 问题答案: 听起来像是多态关联。也许您可以使用ContentTypes框架解决Django通用关系的问题。
问题内容: Django视图指向一个函数,如果您只想更改一些功能,则可能会出现问题。是的,函数中可以有数百万个关键字参数,如果有语句,甚至可以更多,但是我在想更多的面向对象方法。 例如,我有一个显示用户的页面。该页面与显示组的页面非常相似,但仍与仅使用另一个数据模型不太相似。小组也有成员等… 一种方法是将视图指向类方法,然后扩展该类。有没有人尝试过这种方法或有其他想法? 问题答案: 我已经创建并使