django 模板
使用 django.http.httpresponse() 來輸出 「hello world!」。該方式將資料與檢視混合在一起,不符合 django 的 mvc 思想。
django 的模板是乙個文字,用於分離文件的表現形式和內容。模板應用例項,在 helloworld 目錄底下建立 templates 目錄並建立 hello.html檔案,整個目錄結構如下:
[root@vm_153_111_centos helloworld]# tree -a
.├── db.sqlite3
├── helloworld
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── templates
│ │ └── hello.html
│ ├── urls.py
│ ├── urls.pyc
│ ├── view.py
│ ├── view.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
└── manage.py
2 directories, 13 files
hello.html 檔案**如下:
helloworld/templates/hello.html 檔案**:
}h1>
#hello加雙括號表示hello是變數
向django中新增模板檔案的路徑,修改helloworld/settings.py,修改 templates 中的 dirs 為 [base_dir+」/templates」,],如下所示:
helloworld/helloworld/settings.py 檔案**,這裡直接把hello.html檔案的路徑直接複製過來的,如下:
修改view.py檔案,新增新的物件
我們現在修改 view.py,增加乙個新的物件,用於向模板提交資料:
helloworld/helloworld/view.py 檔案**:
這裡使用 render 來替代之前使用的 httpresponse。render 還使用了乙個字典 context 作為引數。
context 字典中元素的鍵值 「hello」 對應了模板中的變數 「}」。再訪問可以看到頁面:
異常情況:
templatedoesnotexist at /hello
hello.html
request method: get
request url:
django version: 1.11
exception type: templatedoesnotexist
exception value: hello.html
exception location: /usr/lib/python2.7/site-packages/django-1.11-py2.7.egg/django/template/loader.py in get_template, line 25
python executable: /usr/bin/python
python version: 2.7.5
python path:
['/root/local/helloworld',
一般都是模板路徑錯了,可以使用絕對路徑。 python學習第二步
函式的呼叫 以絕對值函式abs 為例,可以直接從python的官方 檢視文件,也可以從互動介面利用help abs 檢視。常用或不好記函式 持續更新 hex 函式 將乙個整數轉換為十六進製制表示的字串。函式的定義 定義乙個函式要使用def語句,函式返回值用return語句返回。ep def my a...
成為ITer的第二步
斷斷續續的補習,對於網管 系統管理的知識算是有了個大概認識。今天小結幾個要點,算是對以前的失誤及現在的更新認識吧。1 選擇乙個主攻方向,太重要了!it行業往細處做真的技術多,而且更新快,說實在的跟不上時代的節奏。不是我不行,而是沒入行,閉門造車 的惡果就是習得一些過時的技術,沒用。得專注,專注在乙個...
vector第二步修煉之道
定義vector.h檔案 pragma once include using namespace std template class vector else end 2 delete first first newfirst e first 儲存放入容器的元素 int end element陣列的...