用Django寫出最簡單的網頁
來自專欄 AnotherWorld
第一次接觸Django,發現可以用這個框架構建出自己的網頁,不僅各個項目文件清晰明了,關鍵是非常快捷,容易上手。
本篇文章參考Django英文官網,Writing your first Django app, part 1。有興趣的小夥伴們可以去看看。
註:本文適合小白了解Django,也希望大神可以給出建議和評價。
最終理想結果如下:
文章總共分為以下幾個部分:預備工作,創建一個項目,運行開發伺服器,創建polls app,寫出自己的第一個view 文件。
1. 預備工作。
這裡第一步是安裝python, 因為Django本質是用python語言寫的web 開發框架,python是必不可少的,大家可以上官網下載,或則在自己的shell (命令解釋器)打上python 查看自己的版本,成功的話應該可以看到類似下面的信息:
第二步就是安裝Django了。最好的辦法就是使用 pip安裝了。官網步驟鏈接戳我。
首先下載pip (用來解決項目以來問題),最快捷的辦法,先下載get-pip.py,
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
接著運行:
python get-pip.py
如果你是python 3.X 版本,上面命令行不管用的話,可以用python3 get-pip.py
如果已經有了pip,但是版本不是最新的話,更新即可。這裡以linux 為例,
pip install -U pip
接著創建python 環境。這裡推薦使用Virtualenv或則 virtualenvwrapper 。這兩工具提供了獨立的Python環境,比在系統範圍內安裝包更實用。
當創建並激活這虛擬環境以後,在shell 輸入命令行 pip install Django即可。
註:你也可以安裝一個特定包或則開發版本用來能夠通過最新的bug修復和改進來更新Django代碼。但在這裡並沒什麼用處,所以省去不談。
第三步當然就是驗證你的Django 是不是最新版本了。在shell 打上python, 接在在python DOS 命令中(prompt)中導入 Django。
到這裡準備工作就算完成了。
2. 創建一個項目 (project)。
首先在命令行,選擇一個心儀的文件夾,cd 進入。然後輸入下面的命令:
django-admin startproject mysite
這行命令會幫你新建一個mysite 的目錄(文件夾)。包含下面這些文件:
manage.py
: 一個命令行實用程序,允許你以各種方式與Django項目進行交互。
內部的mysite 目錄是你項目的實際Python包。(mysite/mysite)
mysite/__init__.py
: 一個空文件告訴Python這個目錄應該被認為是一個Python包。
mysite/settings.py
: 為這個Django項目的配置
mysite/urls.py
: 這個Django項目的URL聲明; 你的django-驅動站點的「目錄」。
mysite/wsgi.py
: 與wsgi兼容的web伺服器的入口點,為你的項目提供服務。
3. 運行開發伺服器
我們來驗證下我們的Django 項目是可以運行的。打開外部的mysite 目錄,以linux 為例,在該目錄下直接右鍵,選擇open in terminal即可。接著在命令行輸入:
python manage.py runserver
應該可以看到如下的信息:
這就表明你已經啟動了Django 開發伺服器,這是一個純用Python編寫的輕量級Web伺服器。我們可以利用它快速地開發東西,而不必處理配置伺服器——比如Apache。
當伺服器正在運行的時候,我們可以在瀏覽器中訪問http://127.0.0.1:800/,將會看到包含「恭喜你!「字樣的頁面,和一艘火箭起飛的圖片。
4. 創建 poll app
現在環境,一個項目已經完成,我們可以來創建這個app 頁面了。
您在Django中編寫的每個應用程序都包含遵循一定約定的Python包。Django提供了一個實用程序,它可以自動生成應用程序的基本目錄結構,因此您可以專註於編寫代碼而不是創建目錄。
現在我們只要進入manage.py 文件所在的目錄,打開shell,輸入:
python manage.py startapp polls
這會創建一個叫polls的目錄,如下圖所示:
5. 寫出自己的第一個view (視圖)文件
現在打開polls/views.py 文件,然後把下面這串python 代碼放入:
from django.http import HttpResponsedef index(request): return HttpResponse("Hello, world. Youre at the polls index.")
這是Django中最簡單的視圖文件。為了調用這個文件,我們需要將它映射到一個URL——為此我們需要一個URLconf。為了能在polls目錄中創建URLconf,我們需要創建一個名為urls.py的文件。現在所有的文件應該如下圖所示:
並且在polls/urls.py文件中,放入下面這串代碼:
from django.urls import pathfrom . import viewsurlpatterns = [ path(, views.index, name=index),]
下一步,在polls.urls 模塊中,指出root (根) URLconf。在mysite/urls.py 文件中,加入一個導入,django.urls.include,
from django.contrib import adminfrom django.urls import include, pathurlpatterns = [ path(polls/, include(polls.urls)), path(admin/, admin.site.urls),]
include()程序允許應用其他 URLconfs,可以方便使用 URLs。
現在我們已經將index視圖文件和URLconfs 連接在了一起,讓我們來驗證下:
python manage.py runserver
在你的瀏覽器中,輸入http://localhost:8000/polls/, 就能看到「Hello, world. You』re at the polls index.」的頁面。
推薦閱讀:
※Django和Flask這兩個框架在設計上各方面有什麼優缺點?
※為什麼感覺django很難呢?
※可以多個server進程同時監聽一個unix socket文件么?
※開發個人網站 Node.js 和 Django 該如何選擇?