Django基础

Stella981
• 阅读 716
  • http协议
    • 请求的格式(request)
      • 请求方式URL HTTP/1.1
      • k1:v1
      • k1:v2
      • 请求数据
    • 响应的格式(response)、
      • HTTP/1.1 状态描述
      • k1:v1
      • k2:v2
      • 相应数据(响应体)——HTML
    • 八种请求方式
      • GET
        • 向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。
      • POST
        • 向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。
      • HEAD
        • 与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。
      • PUT
        • 向指定资源位置上传其最新内容。
      • DELETE
        • 请求服务器删除Request-URI所标识的资源。
      • TRACE
        • 回显服务器收到的请求,主要用于测试或诊断。
      • OPTIONS
        • 这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用'*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。
      • CONNECT
        • HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器)。
  • HTTP状态码
    • 1xx消息--请求已被服务器接收,继续处理。
    • 2xx成功--请求已成功被服务器接收、理解、并接受
    • 3xx重定向--需要后续操作才能完成这一请求
    • 4xx请求错误--请求含有词法错误或者无法被执行
    • 5xx服务器错误--服务器在处理某个正确请求时发生错误
  • URL
    • 超文本传输协议的统一资源定位符将从因特网获取信息的五个基本元素包括在一个简单的地址中:
      • 传送协议
      • 层级URL标记符号(为【//】,固定不变)
      • 访问资源需要的凭证信息(可省略)
      • 服务器。(通常为域名,有时为IP地址)
      • 端口号。(以数字方式表示,若为HTTP的默认值’80‘可省略)
      • 路径。(以’/‘字符区别路径中的每一个目录名称)
      • 查询。(GET模式的窗体参数,以’?‘字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)
      • 片段。以“#”字符为起点
    • http://www.luffycity.com:80/news/index.html?id=250&page=1 为例, 其中:
    • http,是协议;
    • www.luffycity.com,是服务器;
    • 80,是服务器上的网络端口号;
    • /news/index.html,是路径;
    • ?id=250&page=1,是查询。
    • 大多数网页浏览器不要求用户输入网页中“http://”的部分,因为绝大多数网页内容是超文本传输协议文件。同样,“80”是超文本传输协议文件的常用端口号,因此一般也不必写明。一般来说用户只要键入统一资源定位符的一部分(www.luffycity.com:80/news/index.html?id=250&page=1)就可以了。
  • HTTP请求格式
    • 请求方法 空格 URL 空格 协议版本 回车符 换行符 请求行
    • 头部字段名 : 值 回车符 换行符 请求头部
    • 头部字段名 : 值 回车符 换行符
    • 回车符 换行符
    • 请求数据
  • HTTP响应格式
    • 协议版本 空格 状态码 空格 状态码描述 回车符 换行符 状态行
    • 头部字段名 : 值 回车符 换行符 响应头部
    • 头部字段名 : 值 回车符 换行符
    • 回车符 换行符
    • 响应正文
  • web框架的本质
    • web 框架就是一个socket服务端
    • 功能:
      • a.socket收发消息
      • b.根据不同的路径返回不同的内容
      • c.可以返回动态页面(字符串的替换-模板的渲染)
    • 分类:
      • Django b c
      • flask b
      • tornado a b c
    • 另类分类:
      • Django
      • 其他
  • Django下载安装使用
    • 1.下载
    • 2.创建项目
      • 1. 命令行
        • django-admin startproject mysite
      • 2.pycharm
    • 3.启动项目
      • 1.命令行
        • cd 项目目录下 manage.py
        • python36 manage.py runserver #127.0.0.1:8000
        • python36 manage.py runserver 80 #127.0.0.1:80
        • python36 manage.py runserver 0.0.0.0:80 #0.0.0.0:80
      • 2.pycharm
    • 4.配置
      • TEMPLATES
        • ‘DIRS’:[os.path.join(BASE_DIR,'templates')]
      • DATABASES数据库
      • 静态文件的配置
      • STATIC_URL='/static/' #别名
      • STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')]
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Django_初识
HTTP协议超文本传输协议(应用层的,基于tcp\ip协议的)特点:无状态,无连接(短连接)请求消息格式:请求行\请求头部\空行\请求数据请求行:GET路径HTTP/1.1响应消息格式:响应行\响应头部\空行\响应数据响应行:HTTP/1.1状态码状态
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
3年前
Dubbo爆出严重漏洞!可导致网站被控制、数据泄露!附解决方案
http://dy.163.com/v2/article/detail/F5FPIFRU0511Q1AF.html  !(http://dingyue.ws.126.net/2020/0216/125ec4c4p00q5rcrs0019d200ig009qg00ig009q.png)  来源:华为云  原文地址:https://w
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这