什么是Web
Web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统,是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet的信息节点组成一个互为关联的网状结构
Web的特点
- 图形化的:我们看到的图片、文字、视频、音频、在一个结构下呈现出来
- Web与平台无关:无论是什么操作系统,都可以通过浏览器预览使用
- 分布式的:在当下网络发达的今天,我们的所有元素被安排在不同的电脑磁盘中,防止因集中读取一台电脑磁盘而出现瓶颈
- 动态的:信息是可变的,特别是大型更新速度很快的网站
- 交互的:我们可以通过网上的信息进行与内容的交互,人与人之间的交流
Web的结构
- 网站的前端:通过用户肉眼看到的网站的布局、内容,对网站的操作的功能,一切可以让用户可以直接接触与操作的部分
- 网站的后端:大量的业务逻辑,数据库IO,用户不可见,不可直接接触的部分
用户通过访问前端的功能,前端分为
静态功能
和动态功能
静态功能不会和后端服务器进行交互,仅在前端处理并响应用户
动态功通过与后端的交互,通过前端发送给后端的指令,在后端接到指令并作出相应逻辑处理后响应给前端,前端在收到后端响应后,将结果直接或二次加工呈现给用户
Web结构图
前后端不分离
前后端分离
组成前端的开发语言
名称 | 描述 | 举例 |
---|---|---|
超文本语言html | 一种用来标记页面布局的语言(准确来说html不算一种语言) | <table></table> |
css | 用来给html添加各种样式的语言 | color: red |
javascript | 用于动态调整html,css,进行前端逻辑处理,与后端交互的语言 | var name = 'beck'; |
Python中的后端服务器框架
名称 | 描述 |
---|---|
Tornado | 支持异步,有自己的服务器的web框架,成熟的web框架,初学难度高 |
Webpy | 一个小巧的Web框架,貌似已经停止更新 |
Flask | 一个轻量级框架,生态齐备,使用率高,有一定学习成本 |
Japronto | 2017年出的新框架,性能很强,但生态还不齐备,当前版本还有诸多问题 |
Django | 成熟的PythonWeb框架,生态齐备且功能齐备,学习成本低,易于快速上手 |
什么是Django
- Django是一个开源的Web应用框架
- 由Python编写,它拥有非常齐备的官方文档
- 提供一站式的解决方案,包括缓存、数据ORM、后台管理、验证、表单处理等多项功能
- 可以快速搭建高性能的优雅的网站
Django中的MVT
Django中的模块
- 模型 Model:数据层,处理与数据相关的所有事物
- 视图 View:视图层,用来处理用户发出的请求
- 模板 Template:模板层,通过视图函数渲染html模板,得到动态的前端页面
- 路由 Url:网站的入口,关联到对应的视图函数,访问网址就对应一个函数
- 表单 Forms:表单,用在浏览器输入数据提交,并对这些数据进行验证
- 后台Admin:Django自带一个管理后台,对你提交的数据进行管理
- 配置Settings:Django的设置,配置文件
学习的准备之基础知识
- 对Python基础知识进行掌握,对Python3的一些特性有所了解
- 对关系型数据库有一定了解,如Mysql,它的安装和基本使用
- 对前端语言有一个基础,Html、css和Javascript
Python3的安装
为什么使用python3,因为django2版本不再支持python2,并且2020年官方将不再支持python2的更新
pip
pip是一个python的第三方开源库的下载与安装工具,使用方法
pip install django2==2.1.2
Virtualenv
- Virtualenv是一个Python的虚拟环境库,通过它可以防止各个项目之间因为Python版本不同或第三方库版本不同引起冲突,每个虚拟环境都是独立的,干净的
pip install virtualenv
- 创建虚拟环境路径:
virtualenv -p python3 dev
- 启动虚拟环境:
. env/bin/active
- 退出虚拟环境:
deactive
- 虚拟环境不是必须的,根据个人情况和习惯使用
Django的基础命令
django-admin startproject 项目名
->创建一个django项目python manage.py startapp 应用名
->项目中创建一个应用python manage.py shell
->进入调试代码的调试模式python manage.py makemigrations
->数据库创建更改文件python manage.py migrate
->同步到数据库进行更新python manage.py flush
->清空数据库python manage.py runserver 0.0.0.0:8000
->启动开发服务器python manage.py + 回车
可查看更多命令