最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • django1和2的区别

    正文概述    2020-07-01   304

    django1和2的区别

    Django

    路由匹配使用path和re_path代替url函数

    path匹配绝对路径,re_path匹配正则表达式路径

    from django.urls import path, re_path

    urlpatterns = [

    path(’’, index_views),

    path(‘login/’,login_views),

    path(‘register/’,register_views),

    path(‘check/’,check_views),

    path(“test/”,test_views),

    re_path(“str:user”,user_views),

    re_path(“index/(\d+)”,showcontent)

    ]

    Django的path默认支持以下5个转化器:

    str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式

    int,匹配正整数,包含0。

    slug,匹配字母、数字以及横杠、下划线组成的字符串。

    uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。

    path,匹配任何非空字符串,包含了路径分隔符

    django1与2路由的差别

    在django1中的url在django2中为re_path
    django2中新增了path
        1.from django.urls import path
        2.不支持正则,精准匹配
        3.有5个转换器(int,str,slug,path,uuid)
        4.自定义转换器:
            1 写一个类:
    		class Test:
    			regex = '[0-9]{4}'
    			def to_python(self, value):
    				# 写一堆处理
    				value=value+'aaa'
    				return value
    			def to_url(self, value):
    				return '%04d' % value
    		2 from django.urls import register_converter
    		3 register_converter(Test,'ttt')
    		4 path('index/<ttt:year>', views.index,name='index'),

    MVC和MTV

      M          T                 V	models	   template         views
    
    	M          V                 C(路由+views)	models    模板    控制器	
    
    其实MVC与MTV是一样的,django中为MTV,数据交互层,视图层以及控制层

    视图层:request对象

    request对象:
    # form表单,不写method ,默认是get请求
    #     1 什么情况下用get:请求数据,请求页面,
    #     2 用post请求:向服务器提交数据
    # request.GET  字典
    # request.POST  字典
    # 请求的类型
    # print(request.method)
    # 路径
    # http://127.0.0.1:8000/index/ppp/dddd/?name=lqz
    # 协议:ip地址和端口/路径?参数(数据)  
    # print(request.path) -->/index/ppp/dddd/
    # print(request.get_full_path()) -->/index/ppp/dddd/?name=lqz

    JsonResponse

    向前端页面发json格式字符串

    封装了jsonfrom django.http import JsonResponse
    
    dic={'name':'lqz','age':18}
    li=[1,2,3,4]return JsonResponse(li,safe=False)

    起源地下载网 » django1和2的区别

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元