[oldboy-django][1初始django]web框架本质 + django框架 + ajax
web框架本质
浏览器(socket客户端)
- 发送请求(ip和端口,url http://www.baidu.com:80/index/)
- GET
请求头(数据请求行的url上: Http1. /index?nid=&name=alex)
请求体(空)
- POST
请求头
http1. /index?p= 或者 http 1.1 /index/
请求体
包含数据 接收响应
- 普通响应
--页面直接显示
-- 双方closed - 重定向响应
-- 再发起一次http请求 服务器(socket服务端)
启动服务器,并监听ip和端口,等待用户连接
接收请求,处理并返回
- 普通返回(字符串) # render, HttpResponse
-- 响应头
-- 响应体 - 重定向返回(只有响应头,响应体为空)
-- 响应头
LOCATION: "http://www.baidu.com"
django web框架
创建Project
admin-django startproject mysite
配置settings.py
- 模板路径TEMPLATES DIRS
- 静态文件路径 STATIC_URL, STATICFILES_DIRS
- 额外配置:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware', # 这个本来不是注释的
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
路由关系
url -> 函数
视图函数
def login(request):
request.method
request.POST(获取请求体数据)
request.GET (获取请求头url的数据)
return HttpResponse("字符串")
return render(request, "login.html", {})
获取模板 + 数据 进行渲染(成字符串)
HttpResponse(字符串)
return redirect("要跳转的网址")
模板渲染
{{ msg_str }}
{{ msg_list. }}
{{ msg_dict.key }}
{% for item in msg_list %}
{% endfor%}
{% if > %}
{% endif %}
ajax(特殊的向后台发数据方式) --单独前端技术
- 引入jquery
- $.ajax({
url: '提交的地址',
type: 'post', // 提交的方法
data: {'k1':'v1, 'k2':'v2'},
success: function(data){
// 当服务器处理完成后,回调函数
}
})
- ajax 和 form区别
-- form表单提交,页面会刷新(不能满足需求:数据错误,不能保留对话框)
-- ajax提交页面不刷新,实现上面需求
-- ajax存在缺点:数据对的时候,服务器不能实现跳转,只能用前端实现跳转
location.href = "/classes/"
提交数据
模态对话框(ajax)(登录框)
- 少量输入框
- 数据少
新url方式(京东登录框,要打广告)
- 操作多
- 大量的数据
[oldboy-django][1初始django]web框架本质 + django框架 + ajax的更多相关文章
- Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器
目录 Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器 crm django项目部署流程 使用supervisro启动uwsgi,退出虚 ...
- Web框架本质及第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...
- Web框架本质及第一个Django实例 Web框架
Web框架本质及第一个Django实例 Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web ...
- WEB框架本质和第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 总的来说:Web框架的本质就是浏览 ...
- Django之Web框架本质及第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...
- Django框架----Web框架本质
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...
- django基础一之web框架的本质
一 web框架的本质及自定义web框架 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响 ...
- Django:web框架本质
一,web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 1,自定义web框架 impo ...
- Django 基础 web框架本质
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. import socket sk ...
随机推荐
- [Asp.Net] Form验证中 user.identity为false
这个方法可以是user.identity设置为true FormsAuthentication.SetAuthCookie(Username, true); 但是要开启form验证, 在配置文件中 & ...
- pat甲级1114
1114 Family Property(25 分) This time, you are supposed to help us collect the data for family-owned ...
- noip模拟赛#42
T1:给len=1e5的数字串,操作为将某个位置起始的后缀搬到最前面.求有多少个不重复的比原串大和多少个小. =>maya这铁定可以找出些什么规律来.然后就over 了. =>字符串has ...
- python_41_with语句
#为了避免打开文件后忘记关闭,可以通过管理上下文,即:with open('log','r') as f: # 如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源. with open ...
- install cmake,install torch7
cmake http://blog.csdn.net/jesse__zhong/article/details/21290675 torch7 http://wanghaitao8118.blog.1 ...
- 操作表单 -------JavaScrip
本文摘要:http://www.liaoxuefeng.com/ HTML表单的输入控件主要有以下几种: 文本框,对应的<input type="text">,用于输入 ...
- oc字典
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- 基于 muse-ui 封装一个微信公众号上传插件 实现多图上传
Vue.component('my-wx-upload', { template: ` <mu-grid-list :cols="3" :cellHeight="9 ...
- gitlab文件夹的权限不要随便给777
gitlab 权限给到777 不一定有用
- 在windows server 2008 64位服务器上配置php环境
1.安装windows2008 R2 46位 安装2008 R2 关键步骤,网上有很多诸如此类的安装介绍.在些南昌网站建设公司百恒网络工程师就不作详细介绍.关键是要选择适合实际应用的部署. 2. ...