在上一篇博文中,提到了HttpReponse,可是HttpReponse只能傳送字符串,若是要構建一個網頁,那麼工做量就會十分巨大。模板是一種方便的標籤,存在於HTML文件中,咱們能夠經過模板的語法格式,動態接收服務器發送的數據,再由模板進行渲染。javascript
既然咱們要使用模板,那麼咱們就要有個目錄來存放模板。並且爲了咱們的程序可以搜索到模板,還要對模板目錄進行配置。
(1)在咱們的項目目錄下新建一個templates文件夾
(2)在templates下新建rango文件夾(注:rango是個人項目中的一個應用)
(3)打開settings.py配置咱們的模板信息
方法一:css
TEMPLATE_DIRS=(<workspace>/<projectname>)
雖然咱們可使用絕對路徑,可是當咱們的項目要運行再其餘人的機器上時,workspace的名稱可能不同,這樣咱們就須要使用動態的路徑來表示。url和path這種東西,在咱們的開發中切忌寫「死」了
方法二:(推薦)
在咱們的settings.py中有一個名爲BASE_DIR的變量,它表示文件所在目錄的上級目錄,也就是咱們的templates文件夾所在目錄。
因此咱們新建一個變量TEMPLATE_PATH=os.path.join(BASE_DIR,'templates')
ps:os.path.join這個函數會將路徑相結合,獲得的就是BASE_DIR/templates
好了,如今咱們的html
TEMPLATE_DIRS=(TEMPLATE_PATH)
萬事俱備,就等咱們添加一個模板了。這個模板的位置天然就在templates/rango中,新建一個index.html前端
<!DOCTYPE html> <html> <head> <title>Rango</title> <h1>rango says</h1> hello<strong>{{USERNAME}}</strong>! <a href="/rango/about">About</a> </head> <body> </body> </html>
這段html代碼表示咱們對一個user,say hellojava
目前,咱們的views.py文件中,index函數還不能映射到這個index.html文件。因此要對其進行修改python
from django.shortcuts import render
引入render(渲染)
新建一個字典變量nginx
context_dict = {'username': "Liao"} return render(request,'rango/index.html',context_dict)
運行django
python manage.py runserver
就能夠看到咱們的瀏覽器
helloLiao!
前端開發,html,css,js缺一不可。咱們雖然可以使用模板開始渲染了,可是尚未使用到css來給網頁添加樣式,也沒有圖片,因此獲得的只是一個粗糙簡單的頁面
(1)在咱們的項目中新建static文件夾,在static中再新建images文件夾
(2)同上面,咱們爲了讓程序搜索到static文件夾,仍然須要在settings.py文件中配置相關變量服務器
STATIC_PATH = os.path.join(BASE_DIR,'static') STATICFILES_DIRS=(STATIC_PATH)
(3)讓咱們在images文件夾裏面悄悄地放一張圖片,而後運行程序,
訪問
http://127.0.0.1:8000/static/images/
image-name是咱們的圖片名稱,切記要帶後綴
不出意外,咱們將會在瀏覽器上看到這幅圖片,若是出錯,通常會報404 not found
仔細檢查django的配置文件拼寫便可。
爲了使用靜態文件,咱們須要再模板首行加上這麼一句話
{% load staticfiles %}
爲了顯示咱們的圖片
<img src="{% static "image/test1.jpg" %}" alt='test picture' />
當中使用到了static,表示咱們引用的是一個靜態文件。
同理,當咱們要使用js,css等外部靜態文件時,也可使用static,提供路徑便可。
今天學習了模板和靜態文件
1.模板
(1)在咱們的templates文件夾中新建所需的模板,而且在settings.py文件中配置
TEMPLATE_PATH=os.path.join(BASE_DIR,'tmeplates') TEMPLATE_DIRS=(TEMPALTE_PATH,)
(2)在應用的views.py文件中新建視圖函數,在視圖函數中建立一個字典,在字典中存放咱們要傳入到模板中的數據。
(3)使用render()函數,生成渲染模板響應
2.靜態文件
在static文件夾中存放咱們所需的css,js等文件,在static文件夾中新建images文件夾,存放圖片。
(1)配置static目錄
STATIC_PATH=os.path.join(BASE_DIR,'static') STATICFILES_DIRS=(STATIC_PATH,)
(2)訪問靜態文件
localhost:8000/static/images/filename
(3)在模板中訪問靜態文件
{% load staticfile%}
切記,上面那行代碼要放再<!DOCUMENT>下面,而在上面的位置,若是放在中,會形成沒必要要的空格。使用{% static "filename" %}訪問靜態文件。