Django 101 : Deploy
Django 101 : Deploy
ก่อนอื่นเราจะบอกว่า มันมีบางอย่างที่สำคัญก่อน Deploy โดยเฉพาะ Database Name และ Login Password host กับ Port ต่างๆ ใน Setting.py
Pre Deploy
ดังนั้นเราต้องตั้งให้ตรงกับ Production ก่อน
คำตอบ คือ ไฟล์ .env นั่นเอง (เคยอธิบายแล้วครั้งหนึ่งในการเชื่อมต่อ Database ว่า การใช้ไฟล์ .env นี้จะมีความปลอดภัยสูงกว่า
1. install python-dotenv
2. สร้าง .env (คือไฟล์ ที่เป็นตัวแปร แล้วไปใส่แทนใน Setting.py)
3. เขียน .env แทน Setting ดังต่อไปนี้
SECRET_KEY =
DEBUG = false # ตัวนี้ อยู่บน Production ต้องเป็น False
DATABASE
4. ใน setting.py ใส่ดังนี้
from dotenv import load_dotenv
import os
load_dotenv()
เวลาใช้
DEBUG = os.getenv('SECRET_KEY')
production_host = os.getenv('Production_host')
ALLOWED_HOST = ['production_host'] if production_host is not null else []
Deploy
ในที่นี้เราจะ Deploy ไปบน Heroku (Cloud)
1. สมัครสมาชิก Heroku
2. Create New App
3. สร้าง Database
4. Config ค่า (ให้เหมือนกับ .env)
(ถึงตรงนี้ เราต้องย้อนกลับไปให้ Django Gen SECRET_KEY แบบ Secure ขึ้นมาใหม่
ตอนแรกพิมพ์
python manage.py shell
from django.core.management.utils import get_random_secret_key
get_random_secret_key()
มันจะได้ค่า secrest_key มาตัวหนึ่ง
จากนั้นเอาค่า Database จาก Heroku มาใส่ ใน หน้า config ของ heroku
5. install heroku CLI ลงในโปรเจคเรา
ถัดมา แนะนำว่า ให้ลง Git อีกที หนึ่ง
ความคิดเห็น
แสดงความคิดเห็น