django充許在一個項目中存在多個app,如一個大門戶網站中可以包含論壇,新聞等內容,其中每一個模塊稱之為一個App,也可以理解為一個個獨立的小型項目最終集成在一個門戶網站中最終呈現給用戶
本次測試以python 2.7 pycharm5環境為基准
首先建立項目,項目名稱:testDjango
其次分別建立相應的App模塊:todo,oa,web
如圖所示:
在testDjango項目中找到testDjango文件夾,打開urls.py路由配置文件並添加以下配置
from django.conf.urls import url,include
from django.contrib import admin
from web.views import index
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^$',index,name='index'),
url(r'^todo/',include('todo.urls')),
url(r'^oa/',include('OA.urls')),
url(r'^web/',include('web.urls')),
]
在以上的配置中導入了include對配置進行包裝
同時導入了index函數,index在todo,oa,web中的views文件分別建立
同時指定了一個打開的默認首頁,即web app下的index
from web.views import index
url(r'^$',index,name='index'),
在web app 以及oa,todo的app下打開views.py文件並寫入以下代碼
from django.shortcuts import render
from django.http import *
# Create your views here.
def index(request):
return HttpResponse("web")
此時運行程序,頁面如圖所示

如果此時輸入的路徑為localhost:8000/web/inex,localhost:8000/oa/inex,localhost:8000/toto/index將得到不同app的展現,同時需要對各們子app中的url做出本應的配置,如下所示
from django.conf.urls import url
from django.contrib import admin
from views import *
urlpatterns = [
url(r'^index/$', index,name='index'),
]


