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. Teching Yourself Programming in Ten Years -Peter Norvig

    http://norvig.com/21-days.html 我们经常能看到“7天搞定51单片机”.“21天学会C++”这样样式的标题,编程真的很容易吗?似乎比其他事情要简单很多呀!是的,糟糕的编程确 ...

  2. SaxReader读取xml

    package com.java1234.action; import java.io.File; import java.util.List; import org.dom4j.Document; ...

  3. Shell命令-文件及内容处理之cut、rev

    文件及内容处理 - cut.rev 1. cut:切割文件内容 cut命令的功能说明 cut 命令用于显示每行从开头算起num1 到 num2 的文字. cut命令的语法格式 cut [OPTION] ...

  4. python抓取NBA现役球员基本信息数据并进行分析

    链接:http://china.nba.com/playerindex/ 所需获取JSON数据页面链接:http://china.nba.com/static/data/league/playerli ...

  5. POJChallengeRound2 Tree 【数学期望】

    题目分析: 我们令$G(x)$表示前$x$个点的平均深度,$F(x)$表示第$x$个点的期望深度. 有$F(x) = G(x-1)+1$,$G(x) = G(x-1)+\frac{1}{x}$ 所以答 ...

  6. 题解 UVA1567 【A simple stone game】

    题目大意 一堆石子有n个,首先第一个人开始可以去1~

  7. Day040--HTML&CSS

    内容回顾: 标签分类: (1)行内标签 span 小跨度的标签 i em a 特点: (1)在一行内显示 (2)不能设置宽高,如果不设置宽高,默认是内容的宽高 (2)块级标签 h1~h6 h1页面中尽 ...

  8. LVM备份(3)- pg_dumpall

  9. ASP.NET概念

    ASP.NET :是一个开发框架,用于通过 HTML.CSS.JavaScript 以及服务器脚本来构建网页和网站. ASP.NET两种开发语言:VB C#

  10. B-树(B树)详解

    具体讲解之前,有一点,再次强调下:B-树,即为B树.因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解.如人们可能会以为B-树 ...