django 檢視與網址
我是一個新手,內容粗糙,望大家多多指點。在這裡我只是總結自身所學。
檢視與網址
操作檔案:urls.py、views.py
urls.py
作用:用於處理前臺的連結(如前臺訪問:127.0.0.1:8080/index/1212/21212),其實永遠訪問的是同一個檔案,至於結果則是通過urls處理,呼叫不同views中的不同函式,當然這些函式可以在urls中指定。
主要格式:
1.7:url(r
'^add/$'
,
'calc.views.add'
, name
=
'add'
)
,
1.8:
url(r
'^add/$'
, views.add, name
=
'add'
),
2.0:
path(
'add/'
, views.add, name
=
'add'
),
注意:1.8和2.0需要將views匯入到urls中,如 from
app
import
views
額外:可以在app中新建urls,通過include函式(2.0:from
django.urls
import
include)使其有效(path('app/', include('app.urls')),)
值得一提的是,每個路由都有一個name(如上:name="add")可寫可不寫,這裡雖不是必須但也極其重要,他是前臺連結的別名,即模板中可以使用這個name的值作為路由,需要和{% url %}一起使用。這樣寫的好處是,程式碼可維護性很高。
views.py
上面提到需要在urls中引入views模組,如:views.add,其實是在呼叫views中的add方法,這個方法很特殊,必須至少一個引數,而第一個引數作為資料請求的控制代碼,也就是request,在裡面可以獲取前端發來的請求,而且必須返回一個HttpResponse物件。
作用:用於處理請求、資料庫互動、模板呼叫等(內容很多)。
呼叫模板(templates): 在views 的函式中最後加上return
render(request,
'home.html'
),
home.html即為模板名稱,相應的在tempalates中必須有home.html檔案,並且需要設定settings.py中的TEMPLATES變數,設定DIRS:'DIRS': [os.path.join(BASE_DIR,'Templates')],
資料庫模組:還沒學,據說需要呼叫一個數據庫框架,到時候再看看。
Templates模組
組成: 迴圈,條件判斷,標籤,過濾器等。
迴圈:用法跟python一樣,唯一區別在於需要{% for i in TutorialList %},結束需要 {% endfor %},不需要考慮縮緊問題
迴圈中系統提供的變數:
forloop.counter | 索引從 1 開始算 |
forloop.counter0 | 索引從 0 開始算 |
forloop.revcounter | 索引從最大長度到 1 |
forloop.revcounter0 | 索引從最大長度到 0 |
forloop.first | 當遍歷的元素為第一項時為真 |
forloop.last | 當遍歷的元素為最後一項時為真 |
forloop.parentloop | 用在巢狀的 for 迴圈中, 獲取上一層 for 迴圈的 forloop |
{% for i in TutorialList %} {{ i }} {% endfor %}