閱讀1001 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Django 博客開發教程 1 - 搭建開發環境

本教程使用的開發環境

本教程寫作時開發環境的係統平台為 Windows 10 (64 位),Python 版本為 3.5.2 (64 位),Django 版本為 1.10.6。

建議盡可能地與教程的開發環境保持一致(尤其是 Python 與 Django 版本),避免不必要的麻煩。推薦的 Python 版本為 Python 3.4 或以上,Django 版本號必須為 Django 1.10.x。

注意:本教程將盡量保證兼容 Python 2,但不會在 Python 2 環境下做測試。如果你因為某種原因必須使用 Python 2,你可以在 Python 2 環境下嚐試運行教程裏的代碼,應該能夠順利運行。

安裝 Python

Windows 下安裝 Python 非常簡單,去 Python 官方網站找到 Python 3 的下載地址,根據你的係統選擇 32 位或者 64 位的安裝包,下載好後雙擊安裝即可。

安裝完後檢測 Python 是否可以正常運行。在命令行輸入 python -v ,如果輸出了 Python 的版本號,說明 Python 已安裝成功。

C:\WINDOWS\system32>python -V
Python 3.5.2

如果提示命令未找到,而你又確定已經安裝了 Python,多半是因為沒有把 Python 添加到環境變量。可搜索如何把 Python 添加到環境變量的相關教程,將安裝的Python 添加到環境變量即可。

使用虛擬環境 Virtualenv

強烈推薦在 Virtualenv 下進行 Django 的開發。Virtualenv 是一個 Python 工具,使用它可以創建一個獨立的 Python 環境。

為什麼要使用 Virtualenv 呢?舉個例子,假設你已經在係統中安裝了 Python,並且在閱讀此教程前你已經進行過一些 Django 的學習,但那時候安裝的 Django 還是 1.8 版本。我們教程使用的是最新版的 Django 1.10.6 版本,你可能不願意刪除掉舊版的 Django 1.8,因為那可能導致你以前的項目無法運行。既想讓原本項目在 Django 1.8 環境下運行,又想再安裝 Django 1.10.6 來開啟本教程的項目,怎麼辦呢?使用 Virtualenv 就能夠完美解決這個問題。

Virtualenv 幫我們從係統的 Python 環境中克隆一個全新的 Python 環境出來,這個環境獨立於原來的 Python 環境。我們可以在這個新克隆的環境下安裝 Django 1.10.6,並且在這個新環境下運行我們的新項目。

Virtualenv 的使用非常簡單,首先安裝 Virtualenv,打開命令行工具,輸入 pip install virtualenv 命令即可安裝 Virtualenv。

C:\WINDOWS\system32>pip install virtualenv

安裝成功後就可以開始創建虛擬環境,指定一個你喜歡的目錄,Virtualenv 會把這個新的虛擬環境裝到你指定目錄下。例如我把它裝到 C:\Users\yangxg\Envs 目錄下,並將虛擬環境命名為 blogproject_env(也可以取任何你喜歡的名字)。在命令欄運行如下命令:

C:\WINDOWS\system32>virtualenv C:\Users\yangxg\Envs\blogproject_env

虛擬環境已經創建好了,我們需要激活這個環境,運行 blogproject_env\Scripts\ 目錄下的 activate 程序激活它:

C:\WINDOWS\system32>C:\Users\yangxg\Envs\blogproject_env\Scripts\activate
(blogproject_env) C:\WINDOWS\system32>

注意 Linux 下沒有 Scripts\ 這個目錄,取而代之的是 bin/ 目錄。且激活命令為:

$ source blogproject_env/bin/activate

可以看到命令提示符前麵多了 (blogproject_env),說明我們已經成功激活了虛擬環境,接下來就可以開始安裝 Django 了。

安裝 Django

Django 的官方文檔對 如何安裝 Django 給出了詳細且明確的指導,不過我們目前用不上這些,隻需使用 pip 命令就可以解決問題。

(blogproject_env) C:\WINDOWS\system32>pip install django==1.10.6

我們用 django==1.10.6 來安裝指定的 Django 版本以保證和教程中的一致。如果直接 pip install django 的話有可能安裝最新的 Django 發行版本,而不是 Django 1.10.6。

注意命名提示符前的 (blogproject_env) 以確保你始終處在虛擬環境中,如果不小心退出了虛擬環境,先按上麵的步驟重新進入再安裝 Django。

測試一下安裝是否成功,先在命令行輸入 python 以打開 Python 自帶的命令欄,然後輸入 import django,如果沒有報錯就說明 Django 安裝成功。通過運行 print(django.get_version()) 打印出 Django 的版本號,確保安裝了正確版本的 Django。

(blogproject_env) C:\WINDOWS\system32>python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> print(django.get_version())
1.10.6
>>>

建立 Django 工程

萬事已經具備了,讓我們來建立 Django 項目工程。

Django 工程(Project)是我們項目代碼的容器,例如我們博客項目中所有的代碼(包括 Django 為我們自動生成的以及我們自己寫的)都包含在這個工程裏。其實說通俗一點就是用一個文件夾把一係列 Python 代碼文件和 Django 配置文件包裹起來,這個文件夾就可以看做一個 Django 工程。我們不必親自動手新建這個文件夾和代碼文件,Django 的內置命令已經幫我們做了這些事情。例如我把博客工程的代碼放在 C:\Users\yangxg\Workspace\ ,工程名我把它叫做 blogproject 。

首先在命令行進入到 C:\Users\yangxg\Workspace 這個目錄(如果你還停留在 Python 的命令欄裏,先多按幾次 Ctrl + c 鍵跳出來):

(blogproject_env) C:\WINDOWS\system32>cd C:\Users\yangxg\Workspace

然後運行如下命令創建工程:

(blogproject_env) C:\Users\yangxg\Workspace>django-admin startproject blogproject

再次申明一定要在虛擬環境下運行這些命令,虛擬環境的標誌就是命令提示符前有 (blogproject_env) 這樣的標記。以後幾乎所有和 Django 有關的命令都是在虛擬環境下運行,因此在運行前一定確保先開啟了虛擬環境。

進入工程所在目錄 C:\Users\yangxg\Workspace\(你可能設置在其它路徑),會發現多了一個 blogproject\ 的目錄,其內部的文件結構如下:

blogproject\
    manage.py
    blogproject\
        __init__.py
        settings.py
        urls.py
        wsgi.py

最頂層的 blogproject\ 目錄是我們剛剛指定的工程目錄。blogproject\ 目錄下麵有一個 manage.py 文件,manage 是管理的意思,顧名思義 manage.py 就是 Django 為我們生成的管理這個項目的 Python 腳本文件,以後用到時會再次介紹。與 manage.py 同級的還有一個 blogproject\ 的目錄,這裏麵存放了一些 Django 的配置文件,例如 settings.py、urls.py 等等,以後用到時會詳細介紹。

Hello Django

網站需要運行在一個 Web 服務器上,Django 已經為我們提供了一個用於本地開發的 Web 服務器。在命令行工具裏進入到 manage.py 所在目錄,即**最外層**的 blogproject\ 目錄下。運行 python manage.py runserver 命令就可以在本機上開啟一個 Web 服務器:

(blogproject_env) C:\Users\yangxg\Workspace>cd C:\Users\yangxg\Workspace\blogproject

(blogproject_env) C:\Users\yangxg\Workspace\blogproject>python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 21, 2016 - 20:23:07
Django version 1.10.4, using settings 'blogproject.settings'
Starting development server at https://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

看到這樣的信息表明我們的服務器開啟成功。

在瀏覽器輸入 https://127.0.0.1:8000/ ,看到如下的頁麵提示信息:

Welcome to Django

It worked! Django 工作了!

注意:如果在瀏覽器輸入 https://127.0.0.1:8000/ 後顯示無法訪問該網站,請檢查是不是瀏覽器代理的問題。比如開啟了某些 VPN 代理服務等,將它們全部關閉即可。

這是 manage.py 的第一個用法,運行它的 runserver 命令開啟本地開發服務器,以後我們還會遇到更多的命令。

命令欄工具下按 Ctrl + c 可以退出開發服務器(按一次沒用的話連續多按幾次)。重新開啟則再次運行 python manage.py runserver

Django 默認的語言是英語,所以顯示給我們的歡迎頁麵是英文的。我們在 Django 的配置文件裏稍作修改,讓它支持中文。用任何一個文本編輯器打開 settings.py 文件,找到如下的兩行代碼:

blogproject/blogproject/settings.py

## 其它配置代碼...

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'

## 其它配置代碼...

LANGUAGE_CODE 的值改為 zh-hansTIME_ZONE 的值改為 Asia/Shanghai

blogproject/blogproject/settings.py

## 其它配置代碼...

# 把英文改為中文
LANGUAGE_CODE = 'zh-hans'

# 把國際時區改為中國時區
TIME_ZONE = 'Asia/Shanghai'

## 其它配置代碼...

保存更改後關閉 settings.py 文件。

再次運行開發服務器,並在瀏覽器打開 https://127.0.0.1:8000/,可以看到 Django 已經支持中文了。

歡迎認識 Django

一切準備就緒,開始進入我們的 Django 博客開發之旅吧!

總結

本章節的代碼位於:Step1: build development environment

如果遇到問題,請通過下麵的方式尋求幫助。

更多Django 教程,請訪問 追夢人物的博客

最後更新:2017-05-27 12:01:25

  上一篇:go  《Spring MVC學習指南(第2版)》——第1章 Spring框架 1.1XML配置文件
  下一篇:go  《數據分析實戰 基於EXCEL和SPSS係列工具的實踐》一3.3 耗時耗力的數據整理過程