天天看點

django 一個項目多個App項目搭建

django可以在一個項目中存在多個app,如一個大門戶網站中可以包含論壇,新聞等内容,其中每一個子產品稱之為一個App,也可以了解為一個個獨立的小型項目最終內建在一個門戶網站中最終呈現給使用者

本次測試以python 2.7

1.首先建立項目,項目名稱:testDjango

其次分别建立相應的App子產品:todo,oa,web

如圖所示:

2.在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'),           

3.在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的展現,

4.同時需要對各們子app中的urls.py做出本應的配置,如下所示

from django.conf.urls import url
from django.contrib import admin
from views import *
urlpatterns = [
       url(r'^index/$', index,name='index'),

]