Django 基础
基础知识:
1,什么是web应用?
web本质就是一个socket服务端,用户的浏览器就是一个socket客户端,基于c/s架构的b/s软件开发架构的应用
浏览器中敲入网址回车发送了几件事?
1.浏览器超服务端发送请求
2.服务端接收请求
3.服务端返回相应的响应
4.浏览器接收响应 根据特定的规则渲染页面展示给用户看
2,HTTP协议主要规定了客户端和服务端之间的通信格式
3,什么是HTTP协议:
超文本传输协议:规定了客户端与服务端消息传输的格式
http的四大特性:
1,基于请求响应
2,基于TCP/IP之上的作用于应用层的协议
3,无状态(服务端无法保存用户的输入状态,一个人来一千次都记不住,都如初见)
4,无连接(请求来一次响应一次,之后立马断开,之后两者再无任何关系,)
websocket 相当于是HTTP协议的一个大的补丁 它支持长连接
请求格式:
请求首行: http版本信息,以及客户请求方式,和url
请求头:一大堆的k,v 键值对信息(注意下面的空行不能少)
请求体:post请求携带的数据
响应数据格式:
响应首行(标识http协议版本,响应状态码)
响应头(一大堆k,v 键值对)
响应体(返回给浏览器页面的数据 通常响应体都是HTML页面
响应状态码:
用一串简单的数字来表示一些复杂的状态或者提示信息
1XX: 服务器已经成功接受到你的数据正在处理,还可以发送额外数据
2XX: 请求成功 服务器已经将你请求的数据发送给你了
3XX: 重定向
4XX: 请求错误或者没有操作权限,或内容不存在
5XX: 服务器内部错误
请求的方式:
1,get请求,向服务端获取数据,
2,port请求,超服务端提交数据
URL :统一资源定位符(大白话就是网址)
一:Web 框架
python 三大主流web框架
1.Django:
优点:大而全 自带的功能特别特别多,类似于航空母舰
缺点:有点笨重
2.Flask:
优点:短小精悍,自带的功能模块特别少 全都是依赖第三方组件
flask框架第三方的组件特别多 如果把flask全部的组件加起来
完全可以覆盖过整个Django
确定:比较受限于第三方的开发者
3.Tornado:
优点:天生的异步非租塞框架 速度特别快 能够抗住高并发 可以开发游戏 服务器
web 框架可以分为三个部分:
A: socket
B: 路由与视图函数匹配
C: 模板语法
Django:
A用的别人的 wsgiref(模块文件)
b自己写的
c自己写的
Flask:
a用的别人的 werkzeug
b自己写的
c用别人写的 jinja2
Tornado:
a,b,c都是自己写的
ps:在介绍Django之前的注意事项,即使用Django注意事项
1.计算机的名称不能有中文
2.一个pycharm窗口就是一个项目,不要多个项目放在一个窗口里面
3.项目名不能起中文
Web流程图:
Django的版本:推荐使用1.11.11(是可以维护的)
18年之后才有2.0的版本,LTS 表示可维护的版本
下载:
命令行直接下载
pip3 install django 此时默认为最新版本
pip3 install Django==1.11.11
查看是否下载成功:
django-admin
成功后创建项目:
创建django项目的方式
方式1(命令行创建):
1,创建django项目
django-admin startproject 项目名
django-admin startproject mysite
项目就相当于大学下面的学院,在这里只是个空壳,
所以要在项目下创建自己的应用(app)即自己学院的学科,每个应用不同,其功能就不同
2,创建应用(app):(要切换到项目文件夹下)
切换到项目文件夹下用:cd 项目名。 例如:cd mysite
第一中方法:
django-admin startapp 应用名
django-admin startapp app01
第二中方法:
python manage.py startapp app01
3 命令行启动django 项目
python manage.py runserver
启动成功命令行会有一行(Starting development server at http://127.0.0.1:8000/)
ps:启动成功后,在起了一个django窗口后,再不要去起另一个,在端口没改的情况下别起另外的端口
如果要起窗口,必须把当前启动的窗口停了,关了,再去起窗口,停用ctrl+z键停掉,腾出端口号 退出
pycharm创建
方式2(pycharm创建)
FILE >>> new project 选择第二个django 需要注意名字不能有中文,选择本地的解释器,勾选后台管理
创建app
pycharm命令行创建
python3 manage.py startapp app01
Tools下面run manage task功能栏
启动点小绿色箭头
(**********************************)
注意:1,用命令行创建的django项目,不会自动创建templates模板文件夹
需要我们手动创建 并且需要自己去settings.py文件中注册该文件路径
2,创建的应用一定要在settings.py文件中进行注册,才能生效,否则无法识别
d
jango主要文件介绍
项目文件名:
同名的项目文件夹:
settings.py 文件 django 暴露给用户的可配置文件
urls.py 文件 路由与视图函数对应的文件
wsgi.py 文件 是模块wsgiref的文件
manage.py文件 django 的入口文件
应用文件(app):
migrations文件夹 数据库迁移记录文件
admin.py 文件 django后台管理
apps.py文件 应用注册相关
models.py 文件 orm模型类
tests.py 测试文件
views.py 视图函数文件
小白必会三板斧:######################
1, HttpResponse:返回字符串,你在里面写字符串,返回字符串相关的
HttpResponse('你好啊,我是你的第一个Django')
2,返回页面:
所有的页面html相关的都在templates里面写,在这个文件夹下创建HTML文件
render: 返回html页面 并且能够给该页面传值
3,redirect:重定向
强调:
1.用django一定要保证只有一个在运行状态 切记切记!!!!!!!
2.一定记得清浏览器的缓存