zoukankan      html  css  js  c++  java
  • Django_初识

    HTTP协议

    超文本传输协议(应用层的,基于tcpip协议的)
    
    特点:无状态,无连接(短连接)
    
    请求消息格式:请求行请求头部空行请求数据
    	请求行:GET 路径 HTTP/1.1
    	
    响应消息格式:响应行响应头部空行响应数据
    	响应行: HTTP/1.1 状态码 状态描述
    
    请求方法:getpostputdeleteheadoptions	raceconnect
    
    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')
    
  • 相关阅读:
    HDOJ 1207 汉诺塔II
    [转]写代码的小女孩
    POJ Subway tree systems
    HDOJ 3555 Bomb (数位DP)
    POJ 1636 Prison rearrangement (DP)
    POJ 1015 Jury Compromise (DP)
    UVA 10003
    UVA 103 Stacking Boxes
    HDOJ 3530 Subsequence
    第三百六十二、三天 how can I 坚持
  • 原文地址:https://www.cnblogs.com/SkyRabbit/p/11587625.html
Copyright © 2011-2022 走看看