一、Ajax介绍 1、什么是ajax 简单地讲,ajax就是一种前端技术,用于朝着后端程序发送请求和数据 12345678910111213141516## 总结下来,前端向后端发送请求的方式无非以下几种,ajax技术便是其中一种1、浏览器地址栏输入url地址 请求方式默认并且只能是:get请求 2、a标签 请求方式默认并且只能是:get请求 3、form表单 请求方式可以是:get与post请求 4、ajax技术 请求方式可以是:get与post请求 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。 即使用Javascript语言与服务器进行异步交互,传输的数据为XML 当然,传输的数据不只是XML,现在更多使用json数据。 其实Ajax不是具体的某一个技术,而是下述几种技术的融合,每种技术都有其独特之处,合在一起就成了一个功能强大的新技术 • (1)XHTML和CSS的基于标准的表示技术 • (2)DOM进行动态显示和交互 • (3)XML和XSLT进行数据交 ...
6bfaebf3e9f67b5202b8d6c1cdcd16f7b5ba01cd0c86fe46b43ae97bedd417e2519931627c253fdad7a22f77de794b889691ab342d7b20e365564e3b5fed9f766aaedcfed748d0adb4eeef772fa1a47c7d014494e6e423b6077036a620d341a708a1f4d325c12b58e0a4aaa0ce92482d2b8c3fb2febbe09be90570e701c61c5bdca1075883fa3847e9526b2bff834927adc0630b851f1bf94cfa5f6a8504205977f39f62babca501282ee8c3171abdab53ff7b3eeb8f373097e7f904841eacfbea907ee8e01e9d5a399d6a5bf6837164719b7d55df9f5f37bb92619dd95d712b26b0939553faf1176e1dcd1cf5549f1d778fee71b6ae19003 ...
Django
未读注解 从技术上讲,这些方法都被定义在 django.db.models.fields,但为了方便,它们被导入到 django.db.models;标准的惯例是使用 from django.db import models 并利用 models.Field。 一 字段名命名限制 Fields字段被指定为模型类的属性,是模型最重要的部分,也是模型唯一必须要有的部分,是用来定义数据库字段的。 Django 对字段的命名设置了一些限制: 1、注意字段名不要选择与模型API冲突的名字,如clean、save或delete等 2、字段名不能是Python保留字,因为这将导致Python语法错误。例如: 12class Example(models.Model): pass = models.IntegerField() # 'pass'是保留字 3、由于Django 查询语法的工作方式,所以字段名称中连续的下划线不能超过两个。 例如: 12class Example(models.Model): foo__bar = models.IntegerField() ...
一 django模型层之ORM ORM是什么?为何要有ORM? 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(增、删、改、查),而一旦谈到数据的管理操作,就需要用到数据库管理软件,例如mysql、oracle、Microsoft SQL Server等。 如果应用程序需要操作数据(比如将用户注册信息永久存放起来),那么我们需要在应用程序中编写原生sql语句,然后使用pymysql模块远程操作mysql数据库 针对应用程序的数据操作,直接编写原生sql语句会存在两方面的问题,严重影响开发效率,如下 12#1. sql语句的执行效率问题:应用开发程序员需要耗费一大部分精力去优化sql语句#2. 数据库迁移问题:针对mysql开发的sql语句无法直接应用到oracle数据库上,一旦需要迁移数据库,便需要考虑跨平台问题 为了解决上述问题,django引入了ORM的概念,ORM全称Object Relational Mapping,即对象关系映射,是在pymysq之上又进行了一层封装,对于数据的操作,我们无需再去编写原生sql,取代代之的是基于面向对象的思 ...
Django
未读一 模板简介 在刚刚介绍完的视图层中我们提到,浏览器发送的请求信息会转发给视图进行处理,而视图在经过一系列处理后必须要有返回信息给浏览器。如果我们要返回html标签、css等数据给浏览器进行渲染,我们可以在视图中这么做 12345678910111213from django.shortcuts import HttpResponseimport time# 返回静态内容(静态页面):页面内容固定不变def index(request): html = "<html><body><h1>静态内容,固定不变</h1></body></html>" return HttpResponse(html)# 返回动态内容(动态页面):后台处理会用变量值填充内容,每次得到的内容都可能不同def current_datetime(request): now_time = time.strftime('%Y-%m-%d %X') html = "<ht ...
Django
未读django的视图主要有2种,分别是函数视图和类视图 Django的视图层默认定义在views.py文件中,用来处理web请求信息和返回信息的函数:请求对象(HttpRequest)和相应对象(HttpResponse) 官网解释:请求和响应对象 一、请求与相应 请求对象(HttpReques) 当一个页面被请求时,django会创建一个包含本次请求原信息(如http协议请求报文中的请求行、首部信息、内容主体)的HttpRequest对象。 之后,django会找到匹配的视图,将该对象传给视图函数的第一个参数,约定俗称该参数名为request。 在视图函数中,通过访问该对象的属性便可以提取http协议的请求数据 常用的http请求: POST 添加/上传 GET 获取/下载 PUT/PATCH 修改,其中PUT表示修改整体数据,PATCH表示修改部分数据 DELETE 删除 HttpRequest对象常用属性part1 12345678910111213141516171819202122232425 ...
Django
未读Django 如何处理一个请求 当一个用户请求Django 站点的一个页面,下面是Django 系统决定执行哪个Python 代码使用的算法: Django 加载该 Python 模块并寻找可用的 urlpatterns 。它是 django.urls.path() 和(或) django.urls.re_path() 实例的序列(sequence)。 Django 会按顺序遍历每个 URL 模式,然后会在所请求的URL匹配到第一个模式后停止,并与 path_info 匹配。 一旦有 URL 匹配成功,Djagno 导入并调用相关的视图,这个视图是一个Python 函数(或基于类的视图 class-based view )。视图会获得如下参数: 一个 HttpRequest 实例。 如果匹配的 URL 包含未命名组,那么来自正则表达式中的匹配项将作为位置参数提供。 关键字参数由路径表达式匹配的任何命名部分组成,并由 django.urls.path() 或 django.urls.re_path() 的可选 kwargs 参数中指定的任何参数覆盖。 Chang ...
一 Web应用的组成 对于传统的应用软件来说,基本上都是部署于单机使用的,而Web应用软件则不一样,Web应用软件是基于B/S架构的,B与S部署于不同的计算机上,并且基于网络通信,所以B与S的本质都是套接字,其中B指的是浏览器(browser),我们需要开发的是S端。 很明显我们在开发套接字服务端S时,思路应该是这样的 123#1、接收套接字客户端B发来的请求信息并加以解析#2、根据解析出的结果,加以判断,获取/生成用户想要的数据#3、返回数据给套接字客户端B 其中上述1和3属于套接字的底层通信,而2则属于应用程序的逻辑,所以我们通常说S端的开发由两大部分构成:server和application 12# Sever:称之为服务器程序,指的是套接字的通信相关事宜,包含1和3# application:称之为应用程序,指的是应用程序的逻辑,包含2 二 开发一个Web应用 2.1 S端的简单开发与Http协议 按照上述思路,开发S端如下 123456789101112131415161718192021222324252627282930# S端import soc ...
一、小括号,圆括号() 1、单小括号 () ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 ②命令替换。等同于cmd,shell扫描一遍命令行,发现了 cmd 结构,便将(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。 ③用于初始化数组。如:array=(a b c d) 2、双小括号 (( )) ①整数扩展。这种扩展计算是整数型的计算,不支持浮点型。((exp))结构扩展并计算一个算术表达式的值,如果表达式的结果为0,那么返回的退出状态码为1,或者 是"假",而一个非零值的表达式所返回的退出状态码将为0,或者是"true"。若是逻辑判断,表达式exp为真则为1,假则为0。 ②只要括号中的运算符、表达式符合C语言运算规则,都可用在((exp))中,甚至是三目运算符。作不同进位(如二进制、八进制、十六进制)运算时,输出结果全都自动转化成了十进制。如:echo ...
Linux
未读源码安装 123456789101112131415161718192021一、旧版wget 'http://www.ha97.com/code/axel-2.4.tar.gz'tar -xf axel-2.4.tar.gzcd axel-2.4yum -y install gcc./configuremake && make install二、新版新版解决了 Too many redirects-重定向过多原因是你的 axel 版本太低了!(包括yum install axel的安装)安装 AXELwget https://github.com/axel-download-accelerator/axel/releases/download/v2.17.10/axel-2.17.10.tar.bz2tar -xjvf axel-2.17.9.tar.bz2cd axel-2.17.9##yum groupinstall "Development tools" -y##yum install openssl-devel wget ...