什么市WEB应用?

所谓的web应用就是我们基于浏览器打开的一个个网页(对应网址得到的内容)

软件开发架构

  1. C/S架构: 客户端/服务端

  2. B/S架构:浏览器/服务器

  3. 所有的B/S架构本质上就是C/S架构。

HTTP协议:

超文本传输协议:规定了客户端和服务端消息传输的格式。

四大特性:

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

  2. 基于请求响应(请求响应一一对应,并且服务器不能够自动回消息)

  3. 无状态(无论你访问多少次,我带你如初恋)

  4. 无连接(HTTP协议在请求结束后,就断开连接) (websocket)常连接

数据格式之请求:

  1. 请求首行

  2. 请求头(一堆k,v键值对)

  3. 这的空格很关键

  4. 请求体(里面存放post请求的数据)

  5. get请求的弊端:1.传输的数据直接可以在地址栏显示 2.并且请求的数据长度有限制

数据格式之响应:

  1. 响应首行

  2. 响应头(一堆k,v键值对)

  3. 这的空格很关键

  4. 响应体(里面存放post请求的数据)

响应状态码:

Statues Code:

  1. 1xx: 表示服务器已经成功接受你的数据正在处理,你可以继续提交

  2. 2xx: 请求成功

  3. 3xx: 重定向

  4. 4xx:请求资源错误,或者不存在

  5. 5xx: 服务器错误

动静态网页:

  1. 静态网页:页面上的数据都是写死的,万年不变

  2. 动态网页:页面上的数据是从后端动态获取的;然后将数据传到前端页面。

模板渲染:

后端生成的数据直接传递给前端页面使用(并且前端数据可以通过模板语言很灵活的操作数据)

模板渲染 模板的语法通过第三方库模块来实现: pip3 install jina2

模板语法:{{ 操作的数据}};{%for user in userinfo%}操作的数据{%endfor%}

简易版本的web请求流程图:

Templates:

用于存放你所有的HTML代码

web的三大主流框架介绍:

  1. Django:大而全,自带了很多的功能模块,类似于航空母舰(缺点:就是太笨重了)

  2. Flask: 短小精悍,自带了功能模块特别少,大部分都依赖于第三方库和模块来实现。(小而轻)

  3. Tornado:异步非阻塞, 主要用于处理高IO,多路复用的情况,多用于游戏开发。

在创建Django项目需要注意的点:

  1. 计算机的名称不能有中文的存在,否则会报错

  2. 一个pycharm窗口就是一个项目,不要把多个项目放在同一个pycharm中启动

  3. 项目的名称不能用中文

Django项目版本的选择:

  1. 推荐下载1.11.11版本的

  2. 命令行下载: pip3 install djiango==1.11.11

  3. 验证是否安装成功: django-admin

创建Django项目的两种方式:

  • 命令行创建

    1. 创建Django项目: django-admin startproject 项目名

    2. 创建app应用: python3 manage.py startapp app01

    3. 启动django项目: python3 manage.py runserver

    ps:需要注意的是:在使用命令行创建的项目中,没有template文件夹的存在,后期需要自己手动进行配置,需要在settings.py里面进行手动添加。

  • 通过pycharm进行创建

    1. FILE=====>new project: 选择Django项目进行创建

    2. 创建app,可以在创建时自动生成,也可以不进行创建,后期在项目里进行手动创建,添加

    3. 也可以在项目里通过使用终端来创建:python3 manage.py startapp app01

    4. 或者通过在任务栏里的Tools====>run manage task功能:直接输入 startapp app01

在使用项目是需要注意的问题:

  1. 用Django框架时一定只要保证一个项目在运行,否则端口会被占用

  2. 一定要记得清除浏览器的缓存

app应用的概念:

  1. Django 对应的就是大学

  2. app就是大学下面的所有学院

  3. 在创建了app时,一定要去settings里面去注册我们的app应用。

Django各个文件的作用:

应用名 migrations 数据库迁移记录相关数据 admin.py django后台管理相关 models.py 模型表相关 views.py 视图函数相关 项目名 settings.py 配置文件 urls.py 路由与视图函数的映射关系 templates 项目用到的所有的html文件 manage.py django入口文件

入门级别的小白使用Django 的三板斧:

from django.shortcuts import render,HttpResponse,redirect

  1. HttpResponse 返回字符串

  2. render 返回一个html页面

  3. 两种给前端页面传值的方式 def reg(request): user_dict = {'name':'jason','password':'123'} return render(request,'reg.html',{'user_dict':user_dict})

    def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',locals())
  1. redirect 重定向

Django初见的更多相关文章

  1. <学习笔记: Django之初见>

    Django 1. web框架介绍 具体介绍Django之前,必须先介绍WEB框架等概念. web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子. ...

  2. From delete library to run の 初见Django篇

    一.虚拟环境简介 1.什么是虚拟环境? 虚拟环境是用于依赖项管理和项目隔离的python工具,允许python的第三方库安装在本地特定项目的隔离目录中,而不是全局安装. 2.虚拟环境的组成 ① 安装了 ...

  3. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

  4. django cookie与session组件

    本文目录 1 会话跟踪技术 2 cookie介绍 Django中操作Cookie Session Django中Session相关方法 Django中的Session配置 CBV中加装饰器 回到目录 ...

  5. Django中的分页,cookies与session

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  6. Django基础八之cookie和session

    一 会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器 ...

  7. Django中cookie和session

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  8. cookie和session在Django中的应用

    1 会话跟踪技术 什么是会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而1008 ...

  9. Django之Cookie、Session和自定义分页

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

随机推荐

  1. Pandas 学习 第9篇:DataFrame - 数据的输入输出

    常用的数据存储介质是数据库和csv文件,pandas模块包含了相应的API对数据进行输入和输出: 对于格式化的平面文件:read_table() 对于csv文件:read_csv().to_csv() ...

  2. springboot 1.4 CXF配置

    启动类: package com.eshore.main; import org.apache.catalina.connector.Connector; import org.apache.coyo ...

  3. 关于5G手机使用4G套餐扫盲

    有些人说换5G手机用4G套餐不用5G套餐可以享受最高 300 mbps 的签约速率.在此我来给你们科普下. 5G套餐分为 500 mbps 和 1000 mbps 两种.且都享受优先接入,顺序是 10 ...

  4. c# "As" 与 "Is"效率 (原发布csdn 2017-10-07 11:49:18)

    十一长假就要过去了,今年假期没有回家,一个人闲着无聊就在看C#语言规范5.0中文版.昨天看了 is运算符和 as运算符,平时项目中也有用到这两种符号,对于其效率也没有进行比较过,趁着假期有空,先看下效 ...

  5. VS Code 自动修改和保存 代码风格 == eslint+prettier

    最近因为用到VS Code,需要统一所有人的代码风格(前端语言js/html/css等,或者后端语言 go/python等也可以这么用). 所以参考了一些网络资料,记录下设置步骤,以便后续查阅. St ...

  6. Java生鲜电商平台-RBAC系统权限的设计与架构

    Java生鲜电商平台-RBAC系统权限的设计与架构 说明:根据上面的需求描述以及对需求的分析,我们得知通常的一个中小型系统对于权限系统所需实现的功能以及非功能性的需求,在下面我们将根据需求从技术角度上 ...

  7. Java生鲜电商平台-源码地址公布与思考和建议

    Java生鲜电商平台-源码地址公布与思考和建议 说明:今天是承诺给大家的最后一天,我公布了github地址(QQ群里面有).诚然这个是我的计划中的事情,但是有以下几点思考请大家共勉: 1. 你下了那么 ...

  8. 超时空英雄传说2复仇魔神完全攻略&秘技

    ╓─╥───────────────────────────────────────────────────╥─╖ ║ ║ 超 時 空 英 雄 傳 說 2 ║ ║ ║ ║ --復 仇 魔 神-- ║ ...

  9. java--Proreties

    Prorerties /* * Properties,内存与文件信息交互 * 表示了一个持久的属性集 * * 构造方法: * Properties() * * */ //简单使用 创建,添加,遍历, ...

  10. 深入理解枚举属性与for-in和for-of

    首先要分清什么是可枚举属性,什么是不可枚举属性 1.可枚举属性 在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被f ...