[django] views

Views:
    主要是針對webpage的部份,指的是各種不同類的view, ex. homepage, archive page 等等,
    大多是用來提供特定的functions或templates.

django裡透過 ROOT_URLCONF(settings.py) 設定URLConf.
For example,

MyApp/
    .__init__
    models.py
    urls.py
    views.py

(1) 設定 ROOT_URLCONF = 'MyApp.urls'
(2) 撰寫 urls.py, 增加欲提供服務的 urlpatterns
         urlpatterns = ( regular expression, python callback function [, optional dictionary] )

urlpatterns = patterns('MyApp.views', 
url(r'^gg/$', 'index'),
url(r'^gg/(?P\d+/$', 'search'),
)

當user 詢問 MyApp/gg/123/ 時,
( I)  django會針對ROOT_URLCONF內對應的APP(MyApp),
(II)  搜尋它urls.py內符合RE的pattern
(III) load 指定的 callback function(views.py).
從這個例子可以知道 callback function會像這樣:
  search(request=, search_id='123')


(Supplement)
*一個domain下可以有多個web apps, ROOT_URLCONF我搞錯了, 他只能指定一個路徑,
正確的做法應該是指定一個 urls.py, 然後使用 include()

MyProject/
    .__init__.py
    manage.py
    settings.py
    urls.py
    MyApp01/
        .__init__.py
        models.py
        views.py
        urls.py


/MyProject/setttings.py
       URLCONF = 'MyProject.urls.py'
/MyProject/urls.py
       urlpatterns = patterns( '', (r'^MyApp/', include('MyProject.MyApp.urls'),
                                   )


Comments

Popular posts from this blog

股票評價(Stock Valuation) - 股利折現模型

openwrt feed的使用

How to convert Markdown into HTML