• django基础


    1. http请求方法

    1. GET

      GET提交的数据会放在URL之后,也就是请求行里面,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test1&id=123456
      GET提交的数据大小有限制(因为浏览器对URL的长度有限制)
      
    2. HEAD

    3. POST

      POST方法是把提交的数据放在HTTP包的请求体中.而POST方法提交的数据没有限制.
      
    4. PUT

    5. DELETE

    6. TRACE

    7. OPTIONS

    8. CONNET

    2. 状态码

    1xx 请求已接收,进一步处理
    2xx 请求已接收,也正常处理 200 OK
    3xx 重定向
    4xx 请求错误 403,404
    5xx 服务的错误
    

    3. 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表单提交数据
    
    

    4. 请求和响应的步骤

    1. 在浏览器的地址栏输入url地址,回车,发出一个get请求
    2. django接收到请求,根据url的路径找到对应的函数,执行函数拿到结果
    3. django将将结果封装成http响应的报文返回给浏览器
    4. 浏览器接收响应,断开连接,分析数据
    

    5. web框架实现的功能

    1. socket接发消息
    2. 根据不同的路径返回不同的内容
    3. 返回HTML页面
    4. 返回动态页面(模板渲染 字符串的替换)
    

    6. 关于form表单中input的name属性

     <form action="http://127.0.0.1:8848" method="get">
            用户名:<input type="text" name="username">
            密码:<input type="text" name="pwd">
            <input type="submit">
      </form>
    方法为get时,只有设置了 name 属性的表单元素才能在提交表单时传递它们的值
    

    7. MVC和MTV框架模式

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

    8. django下载安装

    1. 下载
    	pip install django==1.11.9 ***
    	pip3 install django==1.11.9 -i http://xxxxxx  指定源
    2. 创建项目
    	django-admin startproject mysite   
    	#创建了一个名为"mysite"的Django 项目
    3. 创建应用
    	python manage.py startapp blog   
    	#通过执行manage.py文件来创建应用,执行这句话一定要注意,你应该在这个manage.py的文件所在目录下执行这句话,		因为其他目录里面没有这个文件
    	python manage.py startapp blog2  
        #每个应用都有自己的目录,每个应用的目录下都有自己的views.py视图函数和models.py数据库操作相关的文件
    启动项目
    	python manage.py runserver  默认是127.0.0.1:8000
    	python manage.py runserver 127.0.0.1  默认端口号是8000
        python manage.py runserver 127.0.0.1:8001 
    	
    

    9. django的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 +'月' +'所有文章')
    
    

    10 一些request方法

    request.method    得到请求方式 GET POST 等   字符串类型
    request.POST      得到提交的数据,querydict类型
    request.POST.get("username")   直接根据键取值,结果字符串类型,无此键时,返回None
    models.类名.objects.all()   查询所有的数据 queryset对象
    models.类名.objects.get(username='alexs',password='alexdsb')   
    	#models对象,有且只能一个(不存在或者多条数据就报错)(不建议使用)
    models.类名.objects.filter(username='alexs',password='alexdsb') queryset对象
    

    11. orm与数据库的对应关系

    django            			  数据库
    类                			 表
    对象(类的实例对象)             数据行记录
    属性              			字段
    
  • 相关阅读:
    非正式介绍Python(二)
    用js采集网页数据并插入数据库最快的方法
    一张图轻松记住PHP的*类*以及private和protected的区别
    从php到浏览器的缓存机制,不得不看!
    webpack 兼容低版本浏览器,转换ES6 ES7语法
    DEDE织梦 后台特别卡,有时响应超时的解决办法
    vue iview Select bug,在低版本浏览器中报错
    mysql_connect 等待时间长,修改连接地址为127.0.0.1即可
    看完这篇文章才对【GIT】有了大彻大悟的认识
    一次请求对多条数据进行排序的算法(二)
  • 原文地址:https://www.cnblogs.com/lvweihe/p/11719401.html
Copyright © 2020-2023  润新知