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 อีกที หนึ่ง









ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

KoolMocyc : Forza 350 สเปกต่างๆ และการแก้ไข

KoolMocyc : Forza 350 : ปัญหาประจำตัว

Stable Diffusion 101 : Extension : AnimateDiff