用Django寫出最簡單的網頁

用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

在你的瀏覽器中,輸入localhost:8000/polls/, 就能看到「Hello, world. You』re at the polls index.」的頁面。

推薦閱讀:

Django和Flask這兩個框架在設計上各方面有什麼優缺點?
為什麼感覺django很難呢?
可以多個server進程同時監聽一個unix socket文件么?
開發個人網站 Node.js 和 Django 該如何選擇?

TAG:Django框架 | Python | 網頁 |