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')
原文地址:https://www.cnblogs.com/SkyRabbit/p/11587625.html