這邊先來記錄一下如何顯示
首先先修改settings.py中的 TEMPLATE_DIRS
cd //var/www/mutarock/mutarock/ vim settings.py
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(os.path.dirname(__file__), '..', 'templates').replace('\\','/'),
)
這個設定主要是告訴django你的模板放在哪裡,我這邊用的是相對路徑方便將來移植,如果覺得完全不會動到就用絕對路徑也是可以的啦
回到前一層去新增templates資料夾
cd .. mkdir templates cd templates/ mkdir polls我希望每個apps的模板放的地方不一樣,所以多新增一個子資料夾polls
到目前為止準備工作已經差不多了,接下來還有3個部分
- 設定 urls.py
- 編輯 /apps/polls/views.py
- 編輯顯示用的 html
這部分有很多不同的做法,你可以把全部的urls路徑都放到主資料夾下面的urls.py
也可以用導向的方式,在每個apps裡面都有自己的urls.py
教學上面的例子,下面兩個做法等價,挑自己喜歡的風格
例子一:
全都放在 //var/www/mutarock/mutarock/urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^polls/$', 'polls.views.index'),
url(r'^polls/(?P\d+)/$', 'polls.views.detail'),
url(r'^polls/(?P\d+)/results/$', 'polls.views.results'),
url(r'^polls/(?P\d+)/vote/$', 'polls.views.vote'),
url(r'^admin/', include(admin.site.urls)),
)
例子二
主資料夾負責導向
//var/www/mutarock/mutarock/urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^polls/', include('apps.polls.urls')),
url(r'^admin/', include(admin.site.urls)),
)
apps的資料夾負責細節
//var/www/mutarock/apps/polls/urls.py (預設是沒有這個檔案,要自己新增)
from django.conf.urls import patterns, include, url
urlpatterns = patterns('apps.polls.views',
url(r'^$', 'index'),
url(r'^(?P\d+)/$', 'detail'),
url(r'^(?P\d+)/results/$', 'results'),
url(r'^(?P\d+)/vote/$', 'vote'),
)
之後再browser上面輸入
http://127.0.0.1/polls 系統就會知道要導向到polls的urls.py- 後面什麼都不接,會去找polls裡面view.py的index
- 後面接polls的id,找deatils
- 以此類推
urls.py比較基本的概念就是這些,個人比較偏好第2種做法
主資料夾的urls.py看起來會比較整齊
不然開了幾十個apps不就可能會有幾百行在裡面
No comments:
Post a Comment