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的更多相关文章

  1. Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器

    目录 Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器 crm django项目部署流程 使用supervisro启动uwsgi,退出虚 ...

  2. Web框架本质及第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  3. Web框架本质及第一个Django实例 Web框架

    Web框架本质及第一个Django实例   Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web ...

  4. WEB框架本质和第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 总的来说:Web框架的本质就是浏览 ...

  5. Django之Web框架本质及第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  6. Django框架----Web框架本质

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  7. django基础一之web框架的本质

    一 web框架的本质及自定义web框架 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响 ...

  8. Django:web框架本质

    一,web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 1,自定义web框架 impo ...

  9. Django 基础 web框架本质

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. import socket sk ...

随机推荐

  1. openlayers 初步认识(转)

    OpenLayers是一个开源的js框架,用于在您的浏览器中实现地图浏览的效果和基本的zoom,pan等功能.OpenLayers支持的地图来源 包括了WMS,GoogleMap,KaMap,MSVi ...

  2. 倍增LCA

    前言 在做树上问题时,我们经常会遇到 \(LCA\)(最近公共祖先)问题.曾经的我遇到这类问题只会\(O(n)\)暴力求解,学了倍增\(LCA\),就可以\(O(logn)\)解决了. 简介 倍增\( ...

  3. Java Web报错:getOutputStream() has already been called for this response解决方案

    今天做了个导出excel表的功能.大概代码如下: ouputStream = response.getOutputStream(); wb.write(ouputStream); ouputStrea ...

  4. AngularJS 历经实例

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  5. SQLSERVER存储过程的基本语法实例

    SQLSERVER存储过程的基本语法实例 SQLSERVER存储过程的基本语法实例 一.定义变量--简单赋值 declare @a intset @a=5 print @a --使用select语句赋 ...

  6. struts2、hibernate的知识点

    以下内容是我在复习struts2.hibernate和spring的时候记下得到,部分书上找不到的内容来自网络 以下是网络部分的原文网站: http://blog.csdn.net/frankaqi/ ...

  7. ASP.NET Core模块化前后端分离快速开发框架介绍之1、开篇

    源码地址 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:https://nm.iamoldli.com 账户:admin 密码:admin ...

  8. C程序设计语言 -- 运算符优先级

    1. 运算符分类 算术运算符            [+, -,*, /, % , ++, --] 关系运算符             [>,  >=, <, <=] 相等性运 ...

  9. ATMstart

    import os, sys BASE_DIR = os.path.dirname(__file__)sys.path.append(BASE_DIR) from core import src if ...

  10. js操作地址栏

    //判断地址里是否有?号,如果没有就从最后一个/截到最后,如果有?就从最后一个/截至?号处 listTable.url = location.href.lastIndexOf("?" ...