• 路由的使用


    1 路由的基本使用:
     url是个函数,有四个参数,第一个参数要传正则表达式,第二参数传函数内存地址,第三个参数传默认参数,第四个是路由的别名
    url(r'^article/aa.html$', views.test),
    -路由从上往下匹配,一旦匹配成功,后面就不继续匹配了

    2 路由的无名分组
    url(r'^test2/(d+)/(w+)$', views.test2),
    无名分组分出几个值,视图函数就要接受几个值(位置参数形式传过来的)

    3 路由的有名分组
    url(r'^test3/(?P<id>d+)/(?P<name>w+)$', views.test3),
    有名分组分出几个值,视图函数就要接受几个值(按关键字传入,位置可以打乱)

            有名和无名不能混着用

    4 在settings中配置(以后项目,一般不用动)
    # 默认是true,浏览器浏览的时候,默认加上斜杠
    # 如果是False,浏览器默认不会加/
    # APPEND_SLASH=False

    5 路由分发
    1 导入include
    -from django.conf.urls import include
    2 在主路由中:
    url(r'^app01/', include('app01.urls')),
    url(r'^app02/', include('app02.urls')),
    3 在不同app中新建一个urls
    from app01 import views
    urlpatterns = [
    url(r'^test/', views.test),
    ]
    4 如果浏览器输入app01/test/,就会响应到app01下views中的test取执行

    6 反向解析:
    干什么用?
    -在视图函数中重定向的地址原来是写死的,如果url地址变更,我需要所有的url都修改,很麻烦,所有可以通过反向解析,获得url的地址
    如何使用:
    -路由层:
    url(r'^test_2/$', views.test2,name='test2'),
    -视图层:
    from django.shortcuts import reverse
    url=reverse('url地址的别名')
    #如果做了分组
    url=reverse('url地址的别名',args=[],kwargs={})
    -模板层:
    {% url 'url地址的别名'%}
    #如果做了分组
    {% url 'url地址的别名' 参数1 参数2%}

    7 django 2.0的path,re_path
    -1.几的url就是2.几的re_path
    -2.0的path 第一个参数不再是正则表达式
    -5个转换器:int,str,slug,path,uuid

  • 相关阅读:
    git rebase 的使用
    一分钟带你学会利用mybatis-generator自动生成代码!
    手把手带你实战下Spring的七种事务传播行为
    SpringBoot系列-整合Mybatis(注解方式)
    SpringBoot系列-整合Mybatis(XML配置方式)
    Java中打印日志,这4点很重要!
    SpringBoot集成JWT实现权限认证
    一分钟带你了解JWT认证!
    利用SpringBoot+Logback手写一个简单的链路追踪
    SpringBoot中如何优雅的读取yml配置文件?
  • 原文地址:https://www.cnblogs.com/zhanggq/p/10256682.html
Copyright © 2020-2023  润新知