• 路由分发时名称空间的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() ),
    ]
  • 相关阅读:
    学习第23天
    学习第22天
    学习第21天
    Servlet交互与JSP
    Cookie与Session
    servlet入门
    网络编程
    DOM4j
    xml文档对象模型doc
    反射
  • 原文地址:https://www.cnblogs.com/paulwhw/p/11350751.html
Copyright © 2020-2023  润新知