---
# System prepended metadata

title: 'Django 2.0 文章集 [2] 第一個 Django 項目'
tags: [python, Django, django2.0]

---

# Django 2.0 文章集 [2] 第一個 Django 項目

###### tags: `Django`, `django2.0`, `python`

##  建立第一個 Django 項目
django-admin startproject mysite

##  設定模型資料庫遷移
##  P.S. 會將初始 INSTALL_APPS 會用到的 table
##  一一建立 ORM(模型類) 和相關記錄檔(遷移)資料
cd mysite
python manage.py migrate

##  運行 web server
##  P.S. django 有輕量級的 web server, 且 run server 時
##       會自動檢查 code 更改內容並 reload
python manage.py runserver

##  運行 web server [自訂port]
python manage.py runserver 127.0.0.1:8001 --settings=mysite.settings

##  時區語言設定(settings.py)
LANGUAGE_CODE = 'zh-Hant'
TIME_ZONE = 'Asia/Taipei'

=========================
mysite/mysite 下目錄解說
1) urls: 將每個 URL路徑 映射到一個 view(視圖) 上
2) settings: 設定檔
3) __init__.py: 告知 python 將下層 /mysite 資料夾當作一個模組
4) wsgi.py: Web Server Gateway Interface
            產品要上架時必得用真實的 Web Server 作為 wsgi應用程式
            如: Apache, Gunicorn, uWSGI, etc.

## Django 專案路徑
##   mysite/
###     ∟manage.py
###     ∟mysite/
####       ∟__init__.py <= 告知 python 將內層 mysite 當作一個模組
### 
####       ∟settings.py <= 當前專案的設定檔
####       ∟urls.py <= 包含 url 路徑，每個 url 將映射至一個 view(視圖)
####       ∟wsgi.py <= web server gateway interface


## 備註
####  INSTALL_APPS: 當前專案的公共 django 應用程式
####  P.S. SQLite3 as the database in default