web应用,c/s,b/s架构 c/s: 客户端 服务端 b/s: 浏览器 服务器

HTTP协议: 超文本传输协议 四大特性:

1.基于TCP/IP作用在应用层之上的协议

2.基于请求响应

3.无状态

4.无连接

数据格式之请求:

请求首行

请求头(一大堆的k,v键值对)

        请求体
数据格式之响应:
响应首行
响应头(一大堆的k,v键值对) 响应体
响应状态码:
10X 服务端已经接收你的数据,正在处理,你可以继续提交数据
20X 请求成功
30X 重定向
40X 请求错误(404:请求资源不存在)
50X 内部服务器错误

手撸简易版web框架

动静态网页 静态页面: 数据是写死的 万年不变 动态页面: 数据时实时获取的,比如后端获取当前时间展示到前端,从数据库获取数据展示到前端等~~~

路由与视图函数映射关系 urls = [ ['/index',index], ['/login',login], ['/reg',reg], ['/get_time',get_time] ] 模板渲染(雏形): 后端获取数据,传递给前端页面,页面上可以通过某些方法,使用到后端传递过来的数据

推到思路 1.纯手撸 2.借助wsgiref帮我实现socket这块 3.先拆分成不同文件 模板渲染由自己的字符串替换变成第三方模块(jinja2)

模板语法(接近python语法)

{{ data }}

{{ data.name }}

{{ data['name'] }}

{{ data.get('name') }}

{{ data.age }}

            {% for data in user_list %}
          <tr>
              <td>{{data.id}}</td>
              <td>{{data.name}}</td>
              <td>{{data.age}}</td>
          </tr>
          {% endfor %}

python三大主流web框架介绍 django(大而全) flask(小而精) tornado(异步非阻塞)

a:socket b:路由与视图函数 c:模板渲染

django: a用的别人的wsgiref b:自己写的 c:自己写的

flask:a用的别人的werkzeug b:自己写的 c:用的别人的jinja2

tornado:都是自己写的

django简介 注意 1.django版本 2.计算机名不能是中文 3.一个pycharm窗口就一个工程

安装 命令行下载 pip3 install django==1.11.11

命令行创建django项目django-admin startproject mysite

命令行创建app python manage.py startapp 应用名

命令行启动django python manage.py runserver

用命令行创建的时候,默认没有templates文件夹,需要你自己手动创建 并且在settings配置文件中写上路径

pycharm下载 点加号 选版本 创建new project选第二个django项目(选本机环境,暂时不要选虚拟环境)

两种创建app的方式: python manage.py startapp 应用名 tools下面的run manage.py 能够简写并自动提示

运行方式 python manage.py runserver pycharm自动启动

django主要文件介绍 app01 migrations 数据库迁移记录相关 models.py orm模型类 views.py 视图函数 templates 放html文件 manage.py django的启动入口文件

项目名下 setttings.py django项目的配置文件 urls.py 路由与视图函数的映射关系

django必会三板斧

HttpResponse 返回字符串

render 渲染页面并返回

redirect 重定向

django默认能够自动重启,但是速度可能没有那么快

进入django的更多相关文章

  1. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  2. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  3. django server之间通过remote user 相互调用

    首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...

  4. Mysql事务探索及其在Django中的实践(二)

    继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...

  5. Mysql事务探索及其在Django中的实践(一)

    前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...

  6. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  7. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...

  8. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  9. Django

    一.Django 简介 Django 是一个由 Python 写成的开放源代码的 Web 应用框架.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统) ...

  10. Django admin定制化,User字段扩展[原创]

    前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...

随机推荐

  1. vue环境的搭建与第一个demo

    参考两个博客 1 2 git.npm和淘宝镜像的安装过程过程省略了,直接开始webpack + vue-cli + 创建demo 首先,在磁盘创建一个文件夹,命名为vue-projects,里面再建一 ...

  2. 前端获取checkbox复选框的值 通过数组形式传递

    html代码: <form role="form" class="select_people"> <div style="displ ...

  3. Visual Studio 2019 (VS2019)正式版安装 Ankh SVN和VisualSVN插件

    VS2019 正式版最近刚刚推出来,目前 Ankhsvn 还不支持,它最高只支持 VS2017,全网搜索了一下,也没有找到.在 Stackoverflow 上看了一下,找到这篇问答: 自己按照这种方法 ...

  4. 常用的flex布局

    演示地址:https://xibushijie.github.io/static/flex.html

  5. C++/CLI泛型应用

    2019年01月16日, QQ群友不知道要折腾什么, 提出了以下问题: 样例代码中的是C#语言写的, 翻译成C++/CLI就不会了, 于是我试着谢了一下, 发现可以实现, 于是就贴出来与大家分享, 源 ...

  6. B. Vova and Trophies 字符串预处理+思维+贪心

    题意:给出一个字符串 只有G和S  可以交换任意两个位置的字符一次 问 最长的G的长度是多少 思路:预处理字符串 把相同的G粘成一个G 记一下数量  字符串变为 GSSGSGGSGSSG 相邻有一个S ...

  7. halcon预处理函数

    颜色空间变换 trans_from_rgb(ImageRed, ImageGreen, ImageBlue :ImageResult1, ImageResult2, ImageResult3 : Co ...

  8. (字符串 数组 递归 双指针) leetcode 344. Reverse String

    Write a function that reverses a string. The input string is given as an array of characters char[]. ...

  9. Mac 终端美化方法

    美化终端,主要是主题,字体,命令行提示3个方面. 主题 使用的主题是Solarized Dark主题. 安装主题: git clone git://github.com/altercation/sol ...

  10. 第六节:反射(几种写法、好处和弊端、利用反射实现IOC)

    一. 加载dll,读取相关信息 1. 加载程序集的三种方式 调用Assembly类下的三个方法:Load.LoadFile.LoadFrom. //1.1 Load方法:动态默认加载当前路径下的(bi ...