zoukankan      html  css  js  c++  java
  • url的分发

    一、分发

    补充:通过查看源码:可以通过二级路由include进行二次分发

    位置:urls.py

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('wu/', ([
                        path('test01/', ([
                          path('add/', view.add)
                        ]),None, None),
    path(
    'test02/', views.test02), path('test03/', views.test03), ], None, None)),

    注意:path 后面 不加视图 加tuple

    格式:path('', ([], None, None))

    二、分发优化

    位置:urls.py

    def list_view(request):
        print(request.path)
        return HttpResponse("list_view")
    
    
    def add_view(request):
        print(request.path)
        return HttpResponse("add_view")
    
    
    def change_view(request, id):
        print(request.path)
        return HttpResponse("change_view")
    
    
    def delete_view(request, id):
        print(request.path)
        return HttpResponse("delete_view")
    
    
     # 产生增、删、该、查的url
    def get_urls2():   
        t = []
        t.append(path('', list_view))
        t.append(path('add/', add_view))
        t.append(path('<id>/change/', change_view))
        t.append(path('<id>/delete/', delete_view))
        return t
    
    
    # 产生表url
    def get_urls():    
        temp = []
        # 具体情况看源码
        # admin.site._registry.items() 以字典的形式存放模型对象和样式对象
        # models._meta.app_label 获取 模型对象的app名称
        # models._meta.model_name 获取 模型对象的表名称
        for models, admin_class_obj in admin.site._registry.items():
            app_name = models._meta.app_label
            models_name = models._meta.model_name
            temp.append(path('%s/%s/' % (app_name, models_name), (get_urls2(), None, None))),
        return temp
    
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        # get_urls [ ]
        path('wu/', (get_urls(), None, None)),
    ]
  • 相关阅读:
    【Android】6.3 ProgressDialog
    【Android】6.2 AlertDialog(警告对话框)
    【Android】6.1 Toast(信息提示框)
    【Android】6.0 第6章 对话框--本章示例主界面
    【Android】5.8 滑动条(SeekBar)
    Storm Trident API
    Storm Trident状态
    Storm Trident详解
    Storm的并行度
    StormUI详解
  • 原文地址:https://www.cnblogs.com/wt7018/p/11370974.html
Copyright © 2011-2022 走看看