zoukankan      html  css  js  c++  java
  • Django的路由系统01-路由分发

    1. Including other URLconfs

    原urls.py文件,多个app的路由系统写在一起,不方便管理

    范例:

    from django.conf.urls import url
    from django.contrib import admin
    from app01 import views
    from app02 import views as app02_views
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^publisher_list/$', views.PubList.as_view()),
        url(r'^edit_publisher/$', views.EditPub.as_view()),
        url(r'^book_list/$', views.BookList.as_view()),
        url(r'^templates/$', views.Templates.as_view()),
        url(r'^book/$', app02_views.book),
    ]

    2. 使用include

    使用:

    2.1 注释app01的相关配置

    from django.conf.urls import url
    from django.contrib import admin
    
    from app02 import views as app02_views
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        # url(r'^publisher_list/$', views.PubList.as_view()),
        # url(r'^edit_publisher/$', views.EditPub.as_view()),
        # url(r'^book_list/$', views.BookList.as_view()),
        # url(r'^templates/$', views.Templates.as_view()),
        url(r'^book/$', app02_views.book),
    ]

    2.2 在app01目录中创建urls.py文件

    from django.conf.urls import url
    from app01 import views
    
    
    urlpatterns = [
        url(r'^publisher_list/$', views.PubList.as_view()),
        url(r'^edit_publisher/$', views.EditPub.as_view()),
        url(r'^book_list/$', views.BookList.as_view()),
        url(r'^templates/$', views.Templates.as_view()),
    ]

    但是仅此而已还不够,启动Django项目,发现不能访问app01中的链接

    2.3 导入urls模块的include方法

    方法一:

    from django.conf.urls import url, include
    from django.contrib import admin
    from app02 import views as app02_views
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        # 这种方式不明确,不能根据程序区分
        url(r'^', include('app01.urls')),
        url(r'^book/$', app02_views.book),
    ]

    方法二:

    from django.conf.urls import url, include
    from django.contrib import admin
    from app02 import views as app02_views
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        # 这种方式可以根据不同的程序访问不同的url
        url(r'^app01/', include('app01.urls')),
        url(r'^book/$', app02_views.book),
    ]
    

      


  • 相关阅读:
    【转载】超级实用且不花哨的js代码大全 -----高级应用(一)
    【 Date 对象 参考手册】
    js随机数random()方法
    【转载】js数组的操作
    【转载】js数组和json的区别
    干货----004----MySQL忘记root密码怎么办?
    PHP框架——TP_0001----ThinkPHP常用配置
    干货----003----乱码解决方法
    Python之路【第二十六篇】:xml模块
    Python之路【番外篇1】:使用Python创建照片马赛克
  • 原文地址:https://www.cnblogs.com/gongniue/p/10933500.html
Copyright © 2011-2022 走看看