Django Hello World!

環境要求

  1. 下載、安裝 python3

  2. 安裝 pipenv(用於創建python的虛擬環境)

pip3 install pipenv

直接上示例

步驟爲:

  1. 創建並進入目錄
  2. 用pip3安裝Django
  3. 激活虛擬環境
  4. 創建新的Django項目(project)
  5. 在項目裏創建 pages 程序(app)
  6. 修改 settings.py
  7. 運行

創建項目

$ mkdir helloworld
$ cd helloworld

# 激活虛擬環境,此時目錄下多了個Pipfile [注意,我們後續的操作,都是在該虛擬環境中進行的]
$ pipenv shell

# 安裝Django
$ pip3 install django

# 創建項目到當前目錄
$ django-admin startproject helloworld_project ./

現在的目錄結構如下:

helloworld
  - Pipfile
  - Pipfile.lock
  - manage.py
  - helloworld_project
    - __init__.py
    - settings.py
    - urls.py
    - wsgi.py

運行項目

$ python manage.py runserver

訪問http://127.0.0.1:8000/可看到Django的默認頁面

創建app

一個Django項目裏面往往包含多個app,每個app負責一部分功能。

現在我們來創建一個app

# 創建一個名爲 pages 的app。執行後,會發現當前目錄下多了個pages目錄
$ python manage.py startapp pages

在項目級別的settings.py中註冊我們的app:

# helloworld_project/settings.py
INSTALLED_APPS = [
    'pages.apps.PagesConfig', # 新增
  ......
]

編寫view文件,用於顯示hello world

# pages/views.py 
from django.http import HttpResponse

def homePageView(request):
    return HttpResponse('Hello, World!')

爲了能讓瀏覽器找到 homePageView,我們還需要編寫urls.py。

請求的導航路徑是這樣的:項目urls.py -> app的urls.py -> 具體的view。

因此我們需要修改完2個urls.py文件纔算完成。

編寫app級別的url,把app接受到的請求導向對應的view函數

在pages目錄下新建urls.py文件,並輸入以下內容。

# pages/urls.py 
from django.urls import path
from .views import homePageView
urlpatterns = [
    path('', homePageView, name='home') 
]

接着,編寫項目級別的url文件,把項目接收到的請求導向對應的app。

# helloworld_project/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('pages.urls')), 
]
$ python manage.py runserver

現在訪問 http://127.0.0.1:8000/, 可以看到我們的hello world 顯示在頁面上。

目錄結構解析

爲了能自己編寫、修改項目,我們需要明白部分關鍵文件的職責。

settings.py(項目級別)

控制項目的配置,比如,註冊app,設置數據庫等。

urls.py

管理接收、響應的規則。在這裏指明項目允許接收哪些URL,接收後由哪個函數進行處理。

manage.py

用於執行Django的各種指令。比如創建項目、創建app、運行服務等。

views.py

接收請求(request)並返回響應(response)的地方。 可以理解爲是個編寫業務邏輯的地方。

admin.py

Django有個內置的admin程序,該文件就是用於配置admin程序的。

apps.py

配置app自身的文件。

models.py

用於定義數據庫模型,Django會自動爲我們轉換爲數據庫表。

migrations/

跟蹤models.py文件的變化,以保持models.py和數據庫的同步。這個目錄裏的內容,通常不用理會。

修改國內源

如果執行 pip3 install pipenv 或者 'pip3 install django' 慢或者失敗,可以把pip修改爲國內鏡像源。

pip鏡像修改爲國內鏡像

$ mkdir ~/.pip # 如果有.pip目錄就略過這一條。
$ vim ~/.pip/pip.conf

粘貼以下內容[使用的是阿里雲的源]

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章