Django_初识

Stella981
• 阅读 754

HTTP协议

超文本传输协议(应用层的,基于tcp\ip协议的)

特点:无状态,无连接(短连接)

请求消息格式:请求行\请求头部\空行\请求数据
    请求行:GET 路径 HTTP/1.1
    
响应消息格式:响应行\响应头部\空行\响应数据
    响应行: HTTP/1.1 状态码 状态描述

请求方法:get\post\put\delete\head\options\trace\connect\

get请求和post的请求的区别
    get,数据放在url上,有长度限制,一般用于获取数据
    post请求,数据放在请求数据部分,没有长度限制,一般用于提交数据
http协议
请求信息格式
GET / HTTP/1.1   请求行
Host: 127.0.0.1:8003  请求头
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
#空行
请求数据  username=ziwen password=666


get请求 请求数据部分是没有数据的,get请求的数据在url上,在请求行里面,有大小限制,常见的get请求方式: 浏览器输入网址,a标签
post请求 请求数据在请求体(请求数据部分) ,数据没有大小限制, 常见方式:form表单提交数据


状态码:
    1xx请求被接受但是还在处理当中 
    2xx请求成功
    3xx重定向(301永久重定向和302临时重定向)
    4xx客户端错误(请求错误)
    5xx服务器错误

MVC和MTV

MVC模式
    M -- model数据库相关
    V -- views视图(逻辑相关)
    C -- controller url控制器(url分发器)
django -- MTV模式
    M -- model数据库相关
    T -- templates HTML相关(模板)
    V -- views视图(逻辑相关)
    + controller url控制器(url分发器,路由分发)

django安装使用

安装:pip install django==1.11.9
创建项目: django-admin startproject 项目名
启动项目: python manage.py runserver 127.0.0.1:8001
创建应用: python manage.py startapp app名称
    指令创建的app需要配置
    项目的settings配置文件中,installapps的列表,添加一个app名称作为配置
    pycharm中创建完app之后,如果在想创建新的app,需要执行创建app的命令,并添加配置

url路由

# url(r'^articles/(\d+)/(\d+)/', views.articles), #articles/2019/9/
    视图函数
        def articles(request,year,month):  # 位置参数 2019  9
            print(year,type(year)) #2019 <class 'str'>  #匹配出来的所有数据都是字符串
            print(month)

            return HttpResponse(year+'年'+ month +'月' +'所有文章')
        

    # 有名分组参数
    url(r'^articles/(?P<xx>\d+)/(?P<oo>\d+)/', views.articles), #articles/2019/9/
    #xx=2019  oo=9  关键字传参
    
    def articles(request,oo,xx):  # 关键字传参 2019  9
        print(xx,type(xx)) #2019 <class 'str'>  #匹配出来的所有数据都是字符串
        print(oo)
        return HttpResponse(xx+'年'+ oo +'月' +'所有文章')




from app01 import views
urlpatterns = [
    url(r'^index/',views.index)
    url(r'^index/(\d+)/(\d+)/',views.index),无名分组,分组数据以位置传参的方式给了视图函数
    url(r'^index/(?P<xx>\d+)/(?P<oo>\d+)/',views.index),有名分组,分组数据以关键字传参的方式给了视图函数,不在乎参数位置了,并且视图函数形参的名称要和又名分组的变量名称一样.
]


views.py
def index(request,n,m):
    return HttpResponse('xx')
点赞
收藏
评论区
推荐文章
东方客主 东方客主
3年前
Http协议详解
超文本传输协议请求/响应报文连接建立的流程HTTP的特点请求/响应报文请求报文(https://imghelloworld.osscnbeijing.aliyuncs.com/146ca2b87d6a82b2c5c101154d9
Stella981 Stella981
3年前
Http协议、Tomcat、servlet
HTTP协议Http,超文本传输协议是互联网上最广泛的一种网络协议,所有的www文件都必须遵守这个标准。Http协议由http请求和http响应组成http请求:1.请求行请求方式POST、GET、PUT、DELETE等请求的资源/DemoEE/form.html协议版本http/1.12.请求头cookie浏览器
Stella981 Stella981
3年前
Django基础
http协议请求的格式(request)请求方式URLHTTP/1.1k1:v1k1:v2请求数据响应的格式(response)、HTTP/1.1状态描述k
Wesley13 Wesley13
3年前
HTTP基础学习之请求行与状态行
HTTP请求行的格式:请求方式 资源路径 HTTP版本号HTTP状态行的格式:HTTP版本号 状态码  原因叙述下面给出一个完整的例子:     服务器:本地tomcat服务    请求行:GET/test.htmlHTTP/1.0(请求服务器根目录下的test.html文件)    状态行:HTTP/1.120
Wesley13 Wesley13
3年前
HTTP状态码
消息(1字头)这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应。100Continue客户端应当继续发送请求。这个临时响应是
Wesley13 Wesley13
3年前
http协议请求响应详解
http协议请求响应详解一、http协议简介HTTP是HyperTextTransferProtocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。二、HTTP1.0的基本运行方式1、基于HTTP协议(https://www.osc
Wesley13 Wesley13
3年前
HTTP—请求和响应消息的结构
HTTP消息结构HTTP请求消息和响应消息具有相似的结构,由以下部分组成︰1.startline:一行起始行用于描迹要执行的请求,或者是对应的状态,成功或失败。这个起始行总是单行的。2.\\HTTPheaders:\\一个可选的HTTP头集合指明请求或描迹消息正文。3.emptyline:一个空行
Stella981 Stella981
3年前
Http基础解析
Http基础解析\\概念\\:HyperTextTransferProtocol超文本传输协议\传输协议:定义了,客户端和服务器端通信时,发送数据的格式\特点:1\.基于TCP/IP的高级协议2\.默认端口号:803\.基于请求/响应模型的:一次请求对应一次响应4\.
Wesley13 Wesley13
3年前
HTTP请求响应返回状态
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态码。100(继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。2xx(成功)表示成功处理了请求的状态码。200(成功)服
Stella981 Stella981
3年前
Http状态码详解
从维基百科上翻译的,有点蹩脚包涵包涵。1xx消息相关的代表请求已经收到,继续处理。这个状态码的分类意味着一个临时的响应,仅有状态行和可选的头部信息组成,并且有一个空行结尾。因为HTTP/1.0并没有定义任何1xx相关的状态码,所以服务器应该发出一个1xx的响应给一个HTTP/1.0的客户端除非在实验条件下。100继续