简介:本文的首席执行官注释将向您介绍Djangoajax的相关内容是什么。我希望这对每个人都会有所帮助。让我们来看看。
这是我学习时的笔记。让我向您展示。也许是Leaws.essenceSesceAxax是一种异步互动。仅向客户和服务器介绍一种媒介。从同步交互过程中的“处理等待处理”模式的变化。
执行任务时,浏览器会加载Ajax引擎。引擎室JS通常位于页面框架中,负责转发客户端和服务器之间的交互。
通过JS调用Ajax引擎可以使页面不整体刷新,而只能更新用户所需的部分,这不仅避免了“白屏”的现象,而且可以大大保存它。
网络浏览的速度。
好处可以总结为几点:
1.减轻服务器上的负担并加速浏览。
2.带来更好的用户体验。
3.对于标准化并得到广泛支持的技术,无需下载插头或小程序。目前,主流浏览器支持Ajax技术,使其促销非常顺畅。
4.进一步促进页面上的书籍分离。Ajax获取服务器可以完全使用单独的模块进行操作,以便技术人员和艺术家可以更好地分裂和合作。
Ajax的一些组成部分:它由4个技术组成。
JavaScript:这是一种通用脚本语言,用于将其嵌入到某个应用程序中。Ajax应用程序是用JavaScript编写的。
CSS:CSS为网页元素提供了视觉定义方法。在AJAX应用程序中,可以通过CSS独立修改用户界面的样式。
DOM:通过JS修改DOM,AJAX应用程序可以在再次运行时更改用户界面,或者在本地更新页面中的节点
XMLHTTPREQUEST:XMLHTTTPREQUEST对象允许Web程序员从Web服务器的背景获取数据。数据的格式通常为XML或文本。
什么是异步互动:异步互动可以使页面同事处理多个事物,并且必须一一一个一个人完成传统的同步互动。
它并不严格,异步互动是一个简单的多线程,它可以使用同事执行多个操作而不会中断。Ajax的异步互动在后台静静地工作并显示给了无用户 - 免费页面。
Django本身与Ajax无关。
但是,由于Django包含一个模板系统,因此您可以简单地将其理解为前端页面。在这些模板中,当您使用HTML中的POST方法作为前端工程师在HTML中编写页面。
Django可以通过视图中的request.post.get(“ xxx”)的方法接收Ajax传递的数据。
此外,Ajax的帖子需要注意CSRF的安全性。Django正式有一个现成的解决方案。在官方文档中找到代码,并将其粘贴到JS。
更多内容可以关注我的博客。
请获取原始文本的教程:
Ajax准备知识:JSON
什么是JSON?
JSON指的是JavaScript对象表示(JavaScript对象符号)
JSON是一种轻巧的文本数据交换格式
JSON独立于语言 *
JSON具有自我描述性且易于理解
* JSON使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台。JSONPARSER和JSON库支持许多不同的编程语言。
不要说什么,让我们上面!
合格的JSON对象:
[一个“,“两个”,“三”] {“一个”:1,“两个”:2,“三”:3} {“名称”:[Zhang san“”,“ li si”]} [{{{{名称“:” Zhang San},{“名称”:“ Li Si”}]
不合格的JSON对象:
{名称:“ Zhang san”,'age':32} //属性名称必须与双引号一起使用[32、64、128、0xfff] //“ age”:undfeined} //不能使用Undefined {“名称”:“张圣”,
“生日”:新约会('Fri,2011年8月26日07:13:10 GMT'),
“ getName”:function(){return this.name;} //无法使用函数和日期对象}
弦乐和解析方法
JSON对象的两种方法和JavaScript中的字符串转换:
JSON.PARSE():用于将JSON字符串转换为JavaScript对象
json.parse('{“ name”:“ q1mi”}');json.parse('{name:“ q1mi”}');//错误json.parse('[18,undefined]');//错误
JSON.STRINGIFY():用于将JavaScript值转换为JSON字符串。
json.stringify({“名称”:“ q1mi”})
与XML相比
道格拉斯·克罗克福德(Douglas Crockford)在2001年提出了JSON格式,以取代繁琐而笨重的XML格式。
JSON格式具有两个重要的优势:写作简单明了;符合JavaScript的本地语法,您可以直接处理解释引擎而无需添加分析代码。因此,JSON很快被接受,已成为主要网站交换数据的标准格式,并将其写入Ecmascript 5,成为of Ecmascript 5标准。
XML和JSON都使用结构化方法来标记数据。让我们在下面进行简单的比较。
使用XML指示来自中国一些省和城市的数据,如下所示:
?XML版本=“ 1.0”编码=“ UTF-8”?国家
名称中国/名称
省
名称Heilongjiang/name
城市
城市哈尔滨/城市
城市daqing/城市
/城市
/省
省
名称广东/名称
城市
城市/城市/城市
城市深圳/城市
城市/城市
/城市
/省
省
台湾名称/名称
城市
台北城市/城市
城市Kaohsiung/City
/城市
/省
省
名称Xinjiang/name
城市
城市Urumqi/City
/城市
/省/certryxml格式数据
XML格式数据
使用JSON表示以下内容:
{{{
“名称”:“中国”,
“省”: [{{
“名字”:“ heilongjiang”,
“城市”:{
“城市”:[“ Harbin”,“ Daqing”]
}
},{{{
“名称”:“广东”,
“城市”:{
“城市”:[“广州”,“深圳”,“ Zhuhai”]
}
},{{{
“名字”:“台湾”,
“城市”:{
“城市”:[“台北”,“ Kaohsiung”]
}
},{{{
“名称”:“新疆”,
“城市”:{
“城市”:[“ Urumqi”]
}
}]} JSON格式数据
JSON格式数据
从上方的两端可以看出,简单的语法格式和JSON的清晰层次结构显然比XML更容易阅读,并且在数据交换方面,由于JSON使用的字符远不及XML,因此可以是大大保存。传输数据被带宽占据。
简介Ajax
Ajax(异步JavaScript和XML)被翻译成中文为“异步JavaScript和XML”。。
Ajax不是一种新的编程语言,而是使用现有标准的新方法。
Ajax的最大优点是,如果不重新加载整个页面,您可以与服务器交换数据并更新一些网页内容(此功能使用户在不知不觉中完成请求和响应过程的感觉)
Ajax不需要任何浏览器插件,但是用户需要允许JavaScript在浏览器上执行。
同时交互:客户端发出请求后,您需要等待服务器在发布第二个请求之前响应;
异步互动:客户端发出请求后,您可以在不等待服务器响应到结束的情况下发送第二个请求。
模范
输入页面上的两个整数,传输到后端以计算结果并返回。
呢doctype htmlhtml lang =“ en”头
meta charset =“ utf-8”
meta http-equiv =“ x-ua兼容” content =“ ie = edge”
meta名称=“ viewport” content =“ width =设备宽度,初始尺度= 1”
titleajax local Refresh实例/title/headbodyInput type =“ text” id =“ i1”+input type =“ text” id =“ i2” =“ text” text =“ id =” i3“ input type type =” button =“ button” valit”
$(“#B1”)。ON(“ click”,function(){
$ .ajax({{{{{{
URL:“/ajax_add/”,
类型:“ get”,
数据:{“ i1”:$(“#i1”)。val(),“ i2”:$(“#i2”)。val()},
成功:功能(数据){
$(“#i3”)。val(数据);
}
})
})/脚本/body/htmlhtml代码的一部分
html一些代码
DEF AJAX_DEMO1(请求):
返回渲染(请求,“ ajax_demo1.html”)
DEF AJAX_ADD(请求):
i1 = int(request.get.get(“ i1”)
i2 = int(request.get.get(“ i2”)
ret = i1 + i2
返回jsonresponse(ret,safe = false)
Views.py
Views.py
rlpatterns = [
Em
url(r'^ajax_add/',views.ajax_add),
url(r'^ajax_demo1/',views.ajax_demo1),
Em
这是给予的
urls.py
AJAX公共应用程序方案
搜索引擎会自动提示根据用户输入的关键字检索关键字。
另一个重要的应用程序方案是在注册时检查用户名。
实际上,此处使用Ajax技术!当输入文件框时,使用AJAX技术发送了请求,然后服务器将对查询结果响应浏览器,最后显示后端返回的结果。
该页面在整个过程中没有刷新,只需刷新页面中的本地位置即可!
发出请求后,浏览器还可以执行其他操作,而无需等待服务器的响应!
当输入用户名并将光标移至其他表单时,浏览器将使用AJAX技术将请求发送到服务器。服务器将查询是否存在名为LemonTree777777的用户。最后,服务器返回为真实,以表明已经存在名称LemonTree777777的用户。获取结果后,浏览器显示“用户名已注册!”。
在整个过程中,该页面没有刷新,但在本地刷新了。
发出请求后,浏览器可以执行其他操作,而无需等待服务器响应结果;
Ajax的优势和缺点
优势:
Ajax使用JavaScript技术将异步请求发送到服务器;
AJAX请求不需要刷新整个页面;
由于服务器响应内容不再是整个页面,而是页面中内容的一部分,因此AJAX性能很高。
JQuery实施的Ajax
最基本的jQuery发送AJAX请求示例:
呢doctype htmlhtml lang =“ zh-cn”头
meta charset =“ utf-8”
meta http-equiv =“ x-ua兼容” content =“ ie = edge”
meta名称=“ viewport” content =“ width =设备宽度,初始尺度= 1”
Titleajax测试/标题
脚本src =“ https://www.shouxicto.com/article/"/script/headbodybutton id =“ ajaxtest” ajax test/buttonscript
$(“ #ajaxtest”)。单击(函数(){
$ .ajax({url:“/ajax_test/”,type:“ post”,data:{username:“ q1mi”,密码:123456},成功:function:function(data){
警报(数据)
}
})
})/脚本/身体/html
Views.py:
def ajax_test(请求):user_name = request.post.get(“ username”)password = request.get.get.get(“ password”)prop(user_name,passwass)return httpresponse(“ ok”)
$ .AJAX参数
数据参数中的键值。如果值不是字符串,则需要将其转换为字符串类型。
DEF AJAX_TEST(请求):
user_name = request.post.get(“用户名”)
密码= request.post.get(“密码”)
打印(user_name,密码)
返回httpresponse(“ ok”)
JS实施AJAX
var b2 = document.getElementById(“ b2”);
b2.onclick = function(){
//本机js var xmlhttp = new xmlhttprequest();
xmlhttp.open(“ post”,“/ajax_test/”,true);真的);
xmlhttp.setRequestheader(“ content-type”,“ application/x-www-form-urlenCoded”);
xmlhttp.send(“用户名= q1mipassword = 123456”);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readystate === 4 xmlhttp.status === 200){
警报(XMLHTTP.ResponseText);
}
};
};
AJAX请求如何设置CSRF_Token
方法1
通过在隐藏的输入标签中获取CSRFMIDLDLEWARETOKEN值,将其放入数据中并发送。
$ .ajax({url:“/cookie_ajax/”,type:“ post”,data:{
“用户名”:“ q1mi”,
“密码”:123456,
“ csrfmiddlewaretoken”:$(“ [name ='csrfmiddletoken'])。val()//使用jquery删除csrfmiddletoken的值,并缝制数据},成功:function:function:function(data){
console.log(data);
}}))
方法2
将字符串放在返回cookie中。
注意:您需要引入jquery.cookie.js插件-in。
$ .ajax({url:“/cookie_ajax/”,type:“ post”,标题:{“ x-csrftoken”:$ ..cookie('csrftoken')},// //从cookie中获取csrftoken并将其设置为请求并将其设置为请求HeaderData:{“ username”:“ q1mi”,“密码”:123456},成功:function(data){
console.log(data);
}}))
或独自编写GetCookie方法:
函数getCookie(name){
var cookies = null;
if(document.cookie document.cookie!==''){
var cookie = document.cookie.split(';');
for(var i = 0; i cookies.length; i ++){
var cookie = jquery.trim(cookie [i]);
//此cookie字符串以我们想要的名称开头吗?if(cookie.substring(0,name.length + 1)===(name +'=')){){){
cookievalue = decodeuricomponent(cookie.substring(name.length + 1));
休息;
}
}
}
返回cookie;} var csrtoken = getCookie('csrftoken');
每当这段时间写作太麻烦时,您都可以将$ .ajaxsetup()方法用于AJAX请求均匀。
功能CSRFSAFEMETHOD(方法){
//这些HTTP方法不需要CSRF保护返回(/^(get | head | option | trace)$/。test(methot));
如果(!csrfsafemethod(settings.type)!this.crossdomain){
Xhr.setRequestheader(“ X-Csrftoken”,csrftoken);
}
}});
注意:
如果您使用cookie的CSRFTOKEN,则需要确保需要确保Cookie的CSRFTOKEN值。
如果您的视图呈现的HTML文件不包含{%csrf_token%},则Django可能无法设置CSRFTOKEN cookie。
目前,您需要使用suse_csrf_cookie()装饰来强行设置cookie。
django.views.decocotors.csrf import juars_csrf_cookie @ensure_csrf_cookie def login(请求):PASS
有关更多详细信息,请参阅:Djagno的正式文档中CSRF的内容
AJAX上传文件
XMLHTTPREQUEST是浏览器接口。有了它,我们可以使JavaScript与HTTP(S).XMLHTTPREQUEST进行通信。XMLHTTPREQUEST是一种在浏览器中交互数据的常用方法。2008年2月,提出了XMLHTTPRequest级别2。与上一代相比,它具有一些新功能。其中,FormData是XMLHTTPRequest级别的新对象。优势是您可以上传二进制文件。以下是特定的
首先查看FormData的基本方式:FormData对象,您可以形成所有表元素的Querystring并进行值,然后将其提交给背景。仅将表单作为参数将form作为一个参数传递到FormData构造函数:
介绍如何使用FormData上传文件。
django.views.decocotors.csrf import as ausy_csrf_cookie@suars_csrf_cookiedef login(request):
经过
使用
var form = document.getElementById(“ form1”);var fd = new FormData(Form);
这也可以通过Ajax send()方法直接将FD发送到背景。
注意:由于FormData是XMLHTTPREQUEST 2级的新接口,因此IE浏览器现在低于IE10不支持FormData。
练习(是否已注册用户名)
特征
在注册表格中,当用户填写用户名并删除光标时,他将自动将异步请求发送到服务器。服务器返回该用户名已注册。
案例分析
在页面中授予注册表格;
在用户名输入标签中绑定Onblur事件处理功能。
输入标签失去焦点后,获取用户名表字段的值,将AJAX请求发送到服务器;
Django的视图函数处理以获取用户名值的请求,以确定用户是否在数据库中注册。如果已注册,它将返回“用户已注册”,否则“用户名可以注册”。
序列化
django构建 - 连续化器
def books_json(请求):book_list = models.book.objects.all()[0:10]来自django.core导入serverizers。
添加一个sweetalert插头的示例
单击以下载Bootstrap-Sweetalert项目。
$(“。btn-danger”)。ON(“ click”,function(){
swal({标题:“您确定要删除它吗?”,文字:“删除,找不到它!:“ delete delete” cancelButTontext:“ CANCAL”,CLOSSONCONFIRM:false
},,
功能 () {
var deleteid = $(this).parent()。parent()。attr(“ data_id”);
美元
if(data.status === 1){{{
Swal(“删除成功!”,“您可以准备运行!”,“成功”);
} 别的 {
swal(“删除失败”,“您可以再次尝试!”,“错误”)
}
}
})
});})
原始:ajax-
作者:Q1MI-
来自:博客公园 -
Ajax路线图
Ajax教程
您需要一个教程来留言“ ajax”,我会把你寄给你
Django基于Python的免费和开源代码Web框架。它遵循Model-Template-View(MTV)体系结构模式。它由Django Software Foundation(DSF)维护,该基金会是由非营利组织建立的独立组织。
Django的主要目标是简化复杂,数据库驱动的网站的创建。此框架强调组件的重复性和“可插入”,更少的代码,低耦合,快速开发,不重复其自己的原理。使用Python,甚至用于设置文件和数据模型。Django还提供可选的管理创建,读取,更新和删除接口。该界面是由该省动态生成的,并通过管理模型进行了配置。
使用Django的一些知名网站包括公共广播服务,Instagram,Mozilla,Washingta,Disqus,Bitbucket和Nextdoor。
Django成立于2003年秋季。当时,劳伦斯每日报纸互联网程序员Adrian Holovaty和Simon Willison开始使用Python来构建申请。django的开发。它于2005年7月在BSD许可证下公开发布。该框架以吉他手Django Reinhardt.S命名,2008年6月,新成立的Django软件基金会(DSF)将来将维持Django。
2015年7月,Django Co -Founders和Django Co -Founders和Developers的一些Django Co -Founders和开发商举行了10周年纪念活动,在劳伦斯举行了10周年纪念活动。
Django的设计概念如下:
松动-django的目标是使堆栈中的每个元素独立。
较少编码的无代码,因此可以快速开发。
不要重复自己(干燥) - 一切都应在一个地方开发,不要一次又一次地重复。
快速开发-Django的概念是完成可能促进超快速发展的所有事情。
简单设计-Django严格按照自己的代码维护简单的设计,并且很容易遵循最佳的Web开发实践。
Django的一些优点如下:
对象关系映射(ORM)支持-django在数据模型和数据库引擎之间建立桥梁,并支持大量数据库系统,包括MySQL,Oracle,Postgres,Ett。
多语言支持-Django通过其构建的国际系统支持多语言网站。因此,您可以开发支持多种语言的网站。
Framework支持-Django已建立-Ajax,RSS,Cache和其他各种框架的支持。
GUI - Django为管理活动提供了一个良好的用户界面。
开发环境-Django具有轻巧的Web服务器,可促进末端到端应用程序的开发和测试。
Django是Python Web框架。就像大多数现代框架一样,Django支持MVC模式。
对于Python的基本问题,您可以看到此网页,Web链接的视频教程,希望我的答案能为您提供帮助。
结论:以上是首席CTO注释汇编的Djangoajax相关内容的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?