1. 程式人生 > >pythonweb - Django - 初識

pythonweb - Django - 初識

Django是什麼

Django是一個python編寫的開放原始碼的Web應用框架,基於MVC

Django怎麼安裝

不同的Django版本對應的是不同的python版本

安裝最新版python的同時,應該也把pip安裝了,不過pip的版本過舊的時候,可能會找不到對應的外掛,需要升級到最新版本
用以下命令:
python -m pip install --upgrade pip

使用pip來安裝django:
pip install -e django/

驗證,在python中檢視django的版本:
python -m django --version

網路端的安裝(todo)

https://docs.djangoproject.com/en/2.1/topics/install/
https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/uwsgi/

Django怎麼使用

建立框架

  • cd到你想要建立網站的目錄
  • 用以下命令來建立一個網站模板
    django-admin startproject mysite

然後就會得到一個模板工程,目錄結構如下:
mysite/
manage.py
mysite/
init.py
settings.py
urls.py
wsgi.py

  • 最外的mysite不重要,可以隨意改名
  • manage.py: 命令列工具,用來互動的,看起來跟django-admin的作用差不多(
    https://docs.djangoproject.com/en/2.1/ref/django-admin/
  • 第二層mysite目錄,是真正的python package, 目錄名,就是包名,不能隨意改動。
  • init.py: python package的指定檔案
  • settings.py: django工程的配置
  • urls.py: 這個工程裡面的url宣告
  • wsgi.py: wsgi相容網頁伺服器相關

其實這個時候,一個模板網頁就已經建立好了,可以用以下命令開啟伺服器:
$ python manage.py runserver

然後在瀏覽器中輸入URL檢視:
http://127.0.0.1:8000/

可以通過以下命令來修改ip跟埠:
python manage.py runserver [ip]:[埠]

建立app

一個app就是一個有明確職責,幹某些事情的網頁應用。

用以下命令:
python manage.py startapp polls

會自動生成以下目錄
polls/
init.py
admin.py
apps.py
migrations/
init.py
models.py
tests.py
views.py

app與project的區別

一個網站可以看成是一個project,裡面包含著許多apps,例如論壇、部落格;每個apps可以運用於多個網站。

實現view

  • 修改views.py, 新增頁面的展示內容

  • 在app內部的urls.py中,將這個頁面內容,與一個path繫結

  • 然後再在網站的urls.py中,對URL做對映

在瀏覽器上檢視:
http://127.0.0.1:8000/polls

include函式

它是用來做url替換的,每當Django碰到include函式,就會刪除與該點匹配的URL的任何部分,並將剩餘的字串傳送到包含的URLconf進行處理。

path函式

這個函式帶四個引數,path(route, view, kwargs, name),
其中route跟view是必填引數,另兩個是選填引數。

  • route: 就是URL路徑。
  • view: 返回的頁面內容(HttpRequest物件)
  • kwargs: 可以傳遞給目標檢視的關鍵字引數字典
  • name:對URL的命名,可以利用命名在其他地方明確引用該URL,特別是在模板中

referrence