• 包含其他URLconfs


    
    包含其他的URLconfs:
    
    在任何时候,你的urlpatterns都可以包含其他URLconf模块。这实际上将一部分URL放置于其他URL下面。
    
    例如,下面是Django 网站自己的URLconf 中一个片段.它包含许多其他URLconf:
    
    node2:/exam/mysite/mysite#cat urls.py
    """mysite URL Configuration
    
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/1.11/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.conf.urls import url, include
        2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
    """
    from django.conf.urls import url,include
    from django.contrib import admin
    
    urlpatterns = [
       url(r'^polls/', include('polls.urls', namespace='polls')),
       url(r'^books/', include('polls.urls', namespace='polls')),
       url(r'^admin/', admin.site.urls),
    ]
    
    
    
    from django.conf.urls import include, url
    
    urlpatterns = [
        # ... snip ...
        url(r'^community/', include('django_website.aggregator.urls')),
        url(r'^contact/', include('django_website.contact.urls')),
        # ... snip ...
    ]
    
    注意,这个例子中的正则表达式没有包含$(字符串结束匹配符),但是包含一个末尾的斜杠。
    
    每当Django遇到include()时,它会去掉URL中匹配的部分并将剩下的字符串发送给包含的URLconf做进一步处理。
    
    另外一种包含其他URL模式的方式是使用一个url()实例的列表 
    url(r'^contact/', include('polls.urls',namespace='aaa')),
    
    
    node2:/exam/mysite/mysite#cat urls.py
    """mysite URL Configuration
    
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/1.11/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.conf.urls import url, include
        2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
    """
    from django.conf.urls import url,include
    from django.contrib import admin
    
    urlpatterns = [
       url(r'^polls/', include('polls.urls', namespace='polls')),
       url(r'^books/', include('polls.urls', namespace='polls')),
       url(r'^admin/', admin.site.urls),
       url(r'^contact/', include('polls.urls',namespace='aaa')),
    ]
    
    
    
        url(r'^change/(?P<year>[0-9]{4})/$', views.change),
    	
    	
    node2:/exam/mysite/polls#cat urls.py
    from django.conf.urls import url,include
    
    from . import views
    
    urlpatterns = [
        url(r'^$', views.index, name='index'),
        # ex: /polls/5/
        url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
        # ex: /polls/5/results/
        url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
        # ex: /polls/5/vote/
        url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),
    
        url(r'^articles/2003/$', views.special_case_2003),
        url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),
        url(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$', views.month_archive),
        url(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/$', views.article_detail),
        
        url(r'^articles/page(?P<num>[0-9]?)/$', views.page),
    
        url(r'^change/(?P<year>[0-9]{4})/$', views.change),
       
        
    ]
    
    
    
    <WSGIRequest: GET '/contact/change/1122/'>
    1122
    Internal Server Error: /contact/change/1122/
    Traceback (most recent call last):
      File "/usr/local/python27/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
        response = get_response(request)
      File "/usr/local/python27/lib/python2.7/site-packages/django/core/handlers/base.py", line 198, in _get_response
        "returned None instead." % (callback.__module__, view_name)
    ValueError: The view polls.views.change didn't return an HttpResponse object. It returned None instead.
    [18/Aug/2018 21:04:33] "GET /contact/change/1122/ HTTP/1.1" 500 56611
    
    
    
    
    
  • 相关阅读:
    SMS Error code: +CMS
    本地分支的使用
    Android模拟器上不了网的解决办法
    Ubuntu 下 java 版本的切换
    3GPP2 协议下载网站
    View.VISIBLE、INVISIBLE、GONE的区别
    android系统属性值的权限管理
    Ubuntu 10.10下挂载的window盘符无法获得可执行权限的问题
    appwidget 制作 note
    迭代器
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349086.html
Copyright © 2020-2023  润新知