Django中打什麼網址會去什麼地方不是依靠資料夾的位置會構造決定

他的基本構造再第一步中講過了

 

第一層資料夾 TestProject => 專案

第二層資料夾 apps  => 此專案的應用程式儲存區

第三層資料夾 ShowWeb => 此專案的一個子系統

第四層資料夾 templates => 樣版區

第五層資料夾 ShowWeb => 裡面放真正的樣板

 

 

既然這樣,那他如何決定給使用者看到什麼呢?

請看以下說明:

 

 

 

打開TestProject中的urls.py

設定如下

#-*- coding: utf8 -*-

from django.conf.urls.defaults import *

from django.conf import settings

 

urlpatterns = patterns('',

 

#^是開始    $是結束

 

    (r'^$', 'apps.ShowWeb.views.index'),

#再這一段開始後馬上結束(^$)表示網址後面什麼都不打的話,就會去執行apps/ShowWeb/views.py  裡面的index這個程式

 

    (r'^person/$', 'apps. ShowWeb.views.person'),

#再這一段開始後接person,就會去執行apps/ShowWeb/views.py  裡面的person這個程式

 

 

 

再這一步我們得到下面的結果

如果我的網站網址是:http://127.0.0.1:8000/

我只打

http://127.0.0.1:8000/

就會去執行apps/ShowWeb/views.py 裡的index這個funtion

 

http://127.0.0.1:8000/person/

就會去執行apps/ShowWeb/views.py 裡的person這個funtion

 

 

 

 




進階修改:

 

看完以上的說明後會不會發現一件事情

如果網站只有一個子系統,這樣當然簡單乾淨

但是如果我有十個子系統,每個子系統都有10個以上網址設定

那這個urls.py應該會變成怪物

亂七八糟,啥都寫在這裡,好幾百行網址設定,眼睛都開花了

 

 

所以我們就很聰明的幹了一件事情

 

我們在TestProject中的urls.py這樣寫

 

#-*- coding: utf8 -*-

from django.conf.urls.defaults import *

from django.conf import settings

 

urlpatterns = patterns('',

    (r'^', include('apps.ShowWeb.urls')),

   (r'^AAA', include('apps.AAA.urls'))

   (r'^BBB', include('apps.BBB.urls'))

    )

 

意思是

如果是網址後面啥都沒有就去看ShowWeb這個子系統內的urls.py

如果是網址後面接AAA就去看AAA這個子系統內的urls.py

如果是網址後面接BBB就去看BBB這個子系統內的urls.py

 

 

 

 

然後我們在ShowWeb中再自己新增一個檔案urls.py

 

內容寫

 

#-*- coding:utf8 -*-

from django.conf.urls.defaults import *

 

 

urlpatterns = patterns('apps.ShowWeb.views',

    (r'^$', 'index'),

    (r'^friend_connect/$', 'friend_connect'),

    (r'^connect/$', 'connect'),

    (r'^saysome/$', 'saysome'),

)

 

這邊就可以專門為了這個子系統來寫他專屬的網址對應了

 

所以個別的子系統各別自己寫自己的網址對應設定

較為乾淨也不會太過雜亂










Django製作網站-第一章 安裝Django

Django製作網站-第二章 設定MYSQL資料

---------------------------------------

Django製作網站-第四章 設定網頁頁面及執行的程

Django製作網站-第五章 在網頁上面顯示變

Django製作網站-第六章 Django交給Apache

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 嘎抓強 的頭像
    嘎抓強

    嘎抓不露閣

    嘎抓強 發表在 痞客邦 留言(0) 人氣()