zoukankan      html  css  js  c++  java
  • Django-路由(re_path,路由分发)

     1 #  re_path
     2 #re_path是用正则匹配
     3 from django.contrib import admin
     4 from django.urls import path,re_path
     5 from app01 import views
     6 
     7 urlpatterns = [
     8     path('admin/', admin.site.urls),
     9     path('login/',views.login.as_view()),
    10     #表示之匹配 index/test 开头,并且index/test结尾的路径 
    11     re_path(r'^index/test$',views.test),
    12     #匹配index/(四位数字年份)如果在正则里面加了括号,那么会在调用函数的时候自动将括号里匹配成功的内容传给试图函数,要在创建函数的时候接收,否则会报错
    13     re_path(r'^inde/([0-9]{4})/$',views.year),
    14 ]

    注意:

    • 如果要冲URL中捕获一个值,就需要在表达式用添加括号

    • URL前面不需要添加反斜杠,因为每个URL都有。
    • 每个正则表达式前面的'r'是可选的但是建议机上。它高数PYthon这个字符串是“原始的”——字符串中任何字符都不应该转意
     1 #re_path  分组起名
     2 
     3 
     4 
     5 from django.contrib import admin
     6 from django.urls import path,re_path
     7 from app01 import views
     8 
     9 urlpatterns = [
    10     path('admin/', admin.site.urls),
    11     path('login/',views.login.as_view()),
    12 #如果要给获取的参数起名,URL写法'index/?P<名字>表达式' 但是在视图函数接受的时候,必须使用起的名字接受
    13     re_path(r'^index/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$',views.test),
    14 ]
     1  #路由分发
     2  
     3  
     4  
     5 '''
     6 比如:我们创建了,这几个应用 app01、app02
     7         然后我们在每个应用里创建了 urls.py
     8 
     9 '''
    10 
    11 
    12 #-------------------这里是app01下urls.py的内容---------------------------
    13  from django.contrib import admin
    14  from django.urls import path,re_path
    15  from app01 import views
    16  
    17  urlpatterns = [
    18      path('admin/', admin.site.urls),
    19      path('login/',views.login.as_view()),
    20  #如果要给获取的参数起名,URL写法'index/?P<名字>表达式' 但是在视图函数接受的时候,必须使用起的名字接受
    21      re_path(r'^index/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$',views.test),
    22  ]
    23 
    24 #--------------------------------end---------------------------
    25 
    26 
    27 
    28 #-------------------这里是全局下urls.py的内容---------------------------
    29 
    30 from django.contrib import admin
    31 #这里需要导入include
    32 from django.urls import path,re_path,include
    33 #这里需要导入app01的urls
    34 from app01 import urls
    35 
    36 urlpatterns = [
    37     path('admin/', admin.site.urls),
    38 #这种写法,需要在原来的路由前加上app01/
    39     re_path(r'^app01/',include('app01.urls')),
    40 #这种写法,不需要加app01,url写法跟以前一样
    41     re_path(r'^',include('app01.urls'))
    42 
    43 
    44 ]
  • 相关阅读:
    零散杂记
    Result || IResult
    策略模式
    unity中的WWW通讯问题
    在webView 中使用JS 调用 Android / IOS的函数 Function
    不同云区域Proxy安装错误记录
    标准运维加载插件
    蓝鲸考试模拟
    PAAS组件迁移
    脚本安装halo
  • 原文地址:https://www.cnblogs.com/wtil/p/9242108.html
Copyright © 2011-2022 走看看