zoukankan      html  css  js  c++  java
  • 路由分发时名称空间的2种写法

    第一个参数是一个模块路径的字符串就在分路由中加上app_name

    主路由的写法:

    from django.contrib import admin
    from django.urls import path,re_path,include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
      
      # 这里的namespace可以不写,不写的话默认就是app_name—— 看源码 re_path(
    '^book/', include('book.urls',namespace='book')), ]

    很明显:路由分发在了book应用下的urls.py文件中。

    book应用下的urls.py文件中的内容如下:在这里面加上app_name——就是名称空间的值。

    from django.urls import path,re_path
    
    from book import views
    
    app_name
    = 'book'
    urlpatterns = [ re_path('^books/',views.BookView.as_view() ), ]

    第一个参数是一个元组的情况

    如果第一个参数是一个元组,根据源码可知:

    元组的第一个元素应当是module的路径,第二个元素是app_name:

    from django.contrib import admin
    from django.urls import path,re_path,include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
      # 元组传参的写法 re_path(
    '^book/', include(('book.urls','book'))), ]

    此时,在分发的urls.py文件中直接写urlpatterns就好了:

    from django.urls import path,re_path
    
    from book import views
    
    urlpatterns = [
        re_path('^books/',views.BookView.as_view() ),
    ]
  • 相关阅读:
    计算几何
    差三角
    约瑟夫
    字符编码
    河南省赛之Substring
    移动字母
    抽屉原理
    不要为了完成代码而写代码
    分布式文件系统优化
    降低代码的复杂度
  • 原文地址:https://www.cnblogs.com/paulwhw/p/11350751.html
Copyright © 2011-2022 走看看