1. 程式人生 > >django 檢視與網址

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 %}