第一单元
1.常用的请求方式
GET :获取服务端数据,比如浏览一个网站,最普通的动作
POST :向服务端提交数据,比如注册帐号的时候
PUT :向服务端上传数据
DELETE :删除服务端通过 Request-URL 所标示的资源
2.常用的状态码
状态码 | 状态码英文标示 | 意义 |
---|---|---|
100 | Continue | HTTP/1.1 中新增状态码,表示客户端可以继续请求 HTTP 服务器 |
101 | Switching Protocols | 服务端切换请求协议,切换到 HTTP 协议新版本 |
200 | OK | 客户端的请求服务端正常完成 |
301 | Moved Permanently | 客户端请求的资源已被永久移动到新的 URL |
302 | Found | 客户顿请求的资源被临时移动,客户端继续使用原有 URL;常用于三方登录之后的跳转 |
304 | Not Modified | 请求的资源未被修改,可以继续访问原 URL 常用于使用缓存的情况下 |
400 | Bad Request | 客户端的请求语法错误,或无法解析请求 |
401 | Unauthorized | 请求需要经过身份验证 |
402 | Payment Required | 保留状态码,为以后使用做准备的呢 |
403 | Forbidden | 服务端直接拒绝客户端的请求 |
404 | Not Found | 客户端请求的资源找不到 |
405 | Method Not Allowed | 客户端请求的方式不被允许 |
406 | Not Acceptable | 客户端请求的内容无法正常完成 |
499 | Client has closed Connection | 服务端处理该请求花费了太长的时间 |
500 | Internal Server Error | 服务端内部错误; 可能是因为 Web 服务配置文件读取错误 也可能是因为用户权限等等问题导致 |
502 | Bad Geteway | 服务端内部错误,服务端错误的网关 |
503 | Service Unavailable | 服务端无法响应客户端的请求; |
504 | Gateway Time-out | 服务端处理请求超时,或者可能是访问的网管超时 |
505 | HTTP Version not Supported | 客户端请求的 HTTP 协议版本无法被服务端支持, 可能是你的浏览器太古老了 |
3.静态网站
所谓静态网站的概念也很简单,就是将数据直接写死在页面中,静态网站也因此经常使用在一些数据不经常改变的场景下,网站内容也是相当的稳定,几乎不会怎么更新
4.MVT模型
MVT | MVC |
---|---|
M-model | M-model |
V-View | C-Controller |
T-Template | V-view |
5.创建django项目
5.1框架安装
python -m pip install --upgrade pip # 升级pip版本命令
pip install django==2.2.2 # 安装django
5.2项目创建(项目名不能有汉字)
在命令提示符中输入
django-admin startproject myproject(项目名)
5.3创建子应用
python manage.py startapp appname(应用名)
5.4运行项目
python manage.py runserver(python指令)
6.django目录介绍
- manage.py***:用来管理当前项目的一个命令行工具
- myproject:项目主文件夹,包含了项目最基本的配置文件及路由文件
__init__.py
:空文件,用来指明当前的myproject为一个可导入的模块包- settings.py:项目主要配置文件
- urls.py:项目主要路由配置文件
- wsgi.py:项目部署WSGI并发服务器时所需要的配置文件
settings.py 配置
这个文件包含了诸多未来我们会操作的Django配置,其中默认提供的选项解释如下
- BASE_DIR:当前项目工作目录,用来在每一次开启项目时动态找到这个项目运行在当前操作系统下的哪个目录下
- SECRET_KEY:加密的hash值以及保护某些签名数据的关键密钥
- DEBUG:调试模式,在这个模式下,你可以很清晰的看到出错信息,如果关闭了,那么出错将会变为状态码或者隐蔽性更高的报错页面
- ALLOWED_HOSTS:当前主机所拥有的IP哪些可以被外界使用访问Django
- INSTALL_APPS:Django项目中所有使用的应用名称,自创建子应用也要加到这里,不然ORM数据库无法被识别到
- MIDDLEWARE:中间件,用来在 请求request和 响应reponse过程中添加功能,比如确保安全性,传输保存Session等
- ROOT_URLCONF:主路由配置文件,字符串填写 url.py 文件路径
- TEMPLATES:模板文件配置项
- WSGI_APPLICATION:WSGI 服务器配置项,找到当前 django 下的 wsgi 引入 APP 文件
- DATABASES:数据库配置项,默认使用SQLite3,一个本地文件数据库
- AUTH_PASSWORD_VALIDATORS:检查用户密码强度的验证程序列表,不过是针对admin组件下的用户,而非自定义
- LANGUAGE_CODE:所使用语言文件,一般国内项目采用zh-Hans
- TIME_ZONE:所使用时区,一般国内项目采用Asia/Shanghai
- USE_I18N:国际化支持 18 表示 Internationalization 这个单词首字母 I 和结尾字母 N 之间的字母有 18 个
- USE_L10N:是localization的缩写形式,意即在 l 和 n 之间有 10 个字母
- USE_TZ:开启了Time Zone功能,则所有的存储和内部处理,包括 print 显示的时间将是是 UTC 时间格式
- STATIC_URL*:访问静态资源时的URL***路径
7.关于子应用
7.1子应用是什么
应用是一个专门做某件事**的网络应用程序,比如博客系统中的用户功能部分,一个考试系统中管理试卷的部分。
项目则是一个网站使用的配置和应用的集合,一个项目可以包含很多个app****应用,应用可以被很多个项目使用。、
7.2子应用目录
app/:app目录
- admin.py:这个app****所使用表模型在admin注册展示时需要的文件
- views.py:视图函数文件,编写主要的增删改查等数据逻辑的地方
- models.py:未来操作数据库时,如果使用ORM****映射关系,那么将使用该文件
8.视图
8.1编写视图函数
打开app下的views.py**文件,编写视图函数
from django.http import HttpResponse
def index(request):
return HttpResponse("<h1>Hello world</h1>")
在views.py中我们通过编写函数的形式,接收用户请求的request并返回一个response,这个response通过HttpResponse方法进行返回,这个方法很简单,返回的就是一个html字符串
8.2配置路由
打开项目主目录下的urls.py**文件,编写路由映射
from django.contrib import admin
from django.urls import path
from myapp import views
urlpatterns = [
path('admin/', admin.site.urls), #admin 控制界面路由
path('',views.index)
]
访问一个页面其实就是通过一个URL连接地址找到了服务器上的一个视图函数,path****函数用来处理一个路由对应的视图映射
9.总结
了解一下django的基本知识