路由分发 include
from django.conf.urls import url,include
from django.contrib import admin
from app01 import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 首页
url(r'^$', views.base),
url(r'^app01/', include('app01.urls')),
url(r'^app02/', include('app02.urls')),
]
3.app01 下 urls.py 内容写法
from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
url(r^'$', views.app01base),
url(r'^index/', views.index),
]
4.app02 下 urls.py 内容写法
from django.conf.urls import url
from django.contrib import admin
from app02 import views
urlpatterns = [
url(r'^$', views.app02base),
url(r'^home/', views.home),
]
补充:
python manage.py startapp app02
开启新的app的时候,不要忘记在 settings 配置文件里面写
- 传递额外的参数给视图函数(了解)
URLconfs 具有一个钩子,让你传递一个Python 字典作为额外的参数传递给视图函数。
django.conf.urls.url() 函数可以接收一个可选的第三个参数,它是一个字典,表示想要传递给视图函数的额外关键字参数。
例如:
from django.conf.urls import url
from . import views
urlpatterns =[
url(r'^blog/(?P<year>[0-9]{4})/$', views.year_archive, {'foo': 'bar'}), # 注意,这就像一个命名分组一样,你的函数里面的必须有一个形参,形参必须叫做foo才行,如果是命名分组的url,那么foo参数写在函数的哪个位置都行,如果不是命名分组,那么都是将这个形参写在参数的最后。
]
# 这个技术在Syndication 框架中使用,来传递元数据和选项给视图。