iT邦幫忙

0

django入門(二) — 建立資料庫與專案

全部文章:
django入門(一) — 介紹與設定開發環境
django入門(二) — 建立資料庫與專案
django入門(三) — 簡單範例(1)-建立app
django入門(四) — 簡單範例(2)-範本與範本繼承
django入門(五) — 簡單範例(3)-靜態檔
django入門(六) — 資料模型與填充程式
django入門(七) — Django ORM操作

建立資料庫

C:\...> cd C:\Program Files\PostgreSQL\<這裡填入你的版本號碼 e.g.14>\bin
C:\...> set PGUSER=postgres
C:\...> set PGPASSWORD=postgres
C:\...> createdb stockdb
C:\...> createuser -P dbuser
Enter password for new role: dbuser
Enter it again: dbuser
> psql

psql (11.1)
Type "help" for help

postgres=# grant all privileges on database stockdb to dbuser;
GRANT

postgres=# \q

建立虛擬環境

我們進行開發時,會需要安裝許多套件,如果遇到不同專案需用到同個套件,但需要不同版本時就會產生衝突,因此虛擬環境可以解決這個問題。虛擬環境 (virtual environment),是一個獨立的資料夾,並且裡面裝好了特定版本的 Python,以及一系列相關的套件。

$ cd .../web/virtualenv
$ virtualenv stockVenv

建立完虛擬環境後,接著啟用虛擬環境,並安裝django以及Postgres Database adapter

C:\...> stockVenv\Scripts\activate.bat
(stockVenv)$ pip install django psycopg2
(stockVenv)$ pip freeze

Eclipse設定Ptyhon解譯器

Preferences → PyDev → Interpreters → Python Interpreter → (右邊選項)New →點選 Browse for python/pypy exe → 選 Interpreter Executable:...\web\virtualenv\stockVenv\Scripts\python.exe
→ Interpreter Name: stockPython → OK → Select All → OK → Apply and Close

Eclipse建立Django專案

這裡的Project Name可以自己改成別的名稱。


 File → New → Project → PyDev → PyDev Django Project → Next → Project Name: demo, Grammar Version: Same as interpreter, Interpreter: stockPython → Next → Next → Django version: 1.4 or later → Finish

修改專案的設定檔

demo/settings.py

...
ALLOWED_HOSTS = ['*']
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'stockdb',
        'USER': 'dbuser',
        'PASSWORD': 'dbuser',
        'HOST': 'localhost',
        'PORT': '',
    }
}
LANGUAGE_CODE = 'zh-hant'
TIME_ZONE = 'Asia/Taipei'

啟動專案伺服器

右鍵點選project → Run As → PyDev: Django
成功開啟後,我們打開瀏覽器網址輸入:http://127.0.0.1:8000/
即可看到 安裝成功!恭喜! 字樣的畫面。

 

參考資料:https://docs.python.org/zh-tw/3/tutorial/venv.html


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言