วิธีเริ่มต้นโครงการ Django ด้วย Vim, Docker Compose, MySQL, และ Bootstrap

การเริ่มต้นโครงการ Django ด้วยขั้นตอนการทำงานที่ทันสมัยสามารถช่วยลดความซับซ้อนในกระบวนการพัฒนาและทำให้การดูแลรักษาโครงการง่ายขึ้น บทความนี้จะแนะนำวิธีการตั้งค่าโครงการ Django โดยใช้ Vim, Docker Compose, MySQL และ Bootstrap ซึ่งเหมาะสำหรับผู้เริ่มต้น


ทำไมถึงควรใช้ Vim และ Docker Compose?

ทำไมต้องใช้ Vim?

Vim เป็นโปรแกรมแก้ไขข้อความที่มีประสิทธิภาพสูง น้ำหนักเบา และทำงานได้รวดเร็ว โดยมักจะติดตั้งมาพร้อมกับระบบปฏิบัติการ Unix-based เป็นส่วนใหญ่ แม้ว่าอาจดูน่ากลัวในตอนแรก แต่เมื่อคุณเรียนรู้คำสั่งต่างๆ ของ Vim แล้ว คุณจะสามารถแก้ไขและนำทางโค้ดได้อย่างรวดเร็ว สำหรับนักพัฒนา การใช้ Vim ช่วยลดการพึ่งพาการคลิกเมาส์ และปลั๊กอินจำนวนมากของ Vim สามารถเปลี่ยนให้มันกลายเป็นเครื่องมือพัฒนา (IDE) ที่ทรงพลังสำหรับ Python และ Django ได้

ทำไมต้องใช้ Docker และ Docker Compose?

Docker ช่วยให้การตั้งค่าและจัดการสภาพแวดล้อมการพัฒนาเป็นเรื่องง่ายขึ้น ด้วย Docker คุณสามารถรันแอปพลิเคชันในคอนเทนเนอร์ที่แยกจากกัน ซึ่งช่วยให้มั่นใจได้ว่าโครงการของคุณจะทำงานได้อย่างถูกต้องบนระบบต่างๆ

Docker Compose ช่วยเพิ่มความสะดวกในการจัดการแอปพลิเคชันที่มีหลายคอนเทนเนอร์ ตัวอย่างเช่น ในโครงการ Django อาจต้องการฐานข้อมูล MySQL ที่ทำงานร่วมกัน แทนที่จะติดตั้ง MySQL ลงบนเครื่องของคุณโดยตรง Docker Compose จะช่วยให้คุณสร้างคอนเทนเนอร์ MySQL และเชื่อมต่อกับแอป Django ได้อย่างง่ายดาย


ขั้นตอนที่ 1: การตั้งค่าสภาพแวดล้อมการพัฒนา

1.ติดตั้งเครื่องมือที่จำเป็น
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งสิ่งต่อไปนี้ในระบบของคุณ:

  • Docker และ Docker Compose
  • Python (เวอร์ชัน 3.8 ขึ้นไป)
  • Vim
  • Git

2.สร้างโฟลเดอร์โครงการ

   mkdir django-docker-vim
   cd django-docker-vim

ขั้นตอนที่ 2: การตั้งค่า Docker Compose

1.สร้างไฟล์ docker-compose.yml

   version: '3.8'

   services:
     db:
       image: mysql:8.0
       environment:
         MYSQL_ROOT_PASSWORD: root
         MYSQL_DATABASE: mydb
         MYSQL_USER: user
         MYSQL_PASSWORD: password
       ports:
         - "3306:3306"

     web:
       build: .
       command: python manage.py runserver 0.0.0.0:8000
       volumes:
         - .:/app
       ports:
         - "8000:8000"
       depends_on:
         - db

ไฟล์นี้กำหนดสองบริการคือ db สำหรับ MySQL และ web สำหรับ Django แต่ละบริการจะทำงานในคอนเทนเนอร์ของตัวเอง ทำให้การจัดการการตั้งค่าและการกำหนดค่าเป็นเรื่องง่าย

2.สร้างไฟล์ Dockerfile

   FROM python:3.9-slim

   WORKDIR /app

   COPY requirements.txt requirements.txt

   RUN pip install --no-cache-dir -r requirements.txt

   COPY . .

Dockerfile นี้ช่วยตั้งค่าสภาพแวดล้อม Python สำหรับโครงการ Django ของคุณ

3.สร้างไฟล์ requirements.txt

   django
   mysqlclient

ไฟล์นี้ระบุ dependencies ที่โครงการของคุณต้องการ Docker จะใช้ไฟล์นี้เพื่อติดตั้ง dependencies เหล่านี้ในคอนเทนเนอร์


ขั้นตอนที่ 3: การเริ่มต้นโครงการ Django

1.เริ่มต้น Docker Compose

   docker-compose up -d

คำสั่งนี้จะเริ่มต้นคอนเทนเนอร์ที่กำหนดในไฟล์ docker-compose.yml โดย -d หมายถึงรันในโหมดเบื้องหลัง

2.เข้าสู่คอนเทนเนอร์ของ Web

   docker exec -it <container_id> bash

แทนที่ <container_id> ด้วย ID จริงของคอนเทนเนอร์เว็บซึ่งสามารถหาได้จากคำสั่ง docker ps

3.เริ่มโครงการ Django ใหม่

   django-admin startproject myproject .

4.กำหนดค่า Django ให้ใช้ MySQL
แก้ไขไฟล์ myproject/settings.py:

   DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME': 'mydb',
           'USER': 'user',
           'PASSWORD': 'password',
           'HOST': 'db',
           'PORT': '3306',
       }
   }

การตั้งค่านี้เชื่อมต่อ Django กับฐานข้อมูล MySQL ที่ทำงานอยู่ในคอนเทนเนอร์ db


ขั้นตอนที่ 4: การตั้งค่า Bootstrap สำหรับการออกแบบหน้าเว็บ

1.ติดตั้ง Bootstrap
เพิ่มลิงก์ CSS และ JS ของ Bootstrap ลงในไฟล์ base.html:

   <!DOCTYPE html>
   <html lang="th">
   <head>
       <meta charset="UTF-8">
       <meta name="viewport" content="width=device-width, initial-scale=1.0">
       <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
   </head>
   <body>
       <div class="container">
           {% block content %}{% endblock %}
       </div>
       <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
   </body>
   </html>

2.สร้าง View
สร้าง View ง่ายๆ ใน myproject/views.py:

   from django.shortcuts import render

   def home(request):
       return render(request, 'home.html')

3.ตั้งค่า URLs
เพิ่ม View ลงใน myproject/urls.py:

   from django.contrib import admin
   from django.urls import path
   from . import views

   urlpatterns = [
       path('admin/', admin.site.urls),
       path('', views.home, name='home'),
   ]

4.สร้างเทมเพลต
สร้างไฟล์ templates/home.html:

   {% extends 'base.html' %}

   {% block content %}
   <h1 class="text-center">ยินดีต้อนรับสู่ Django พร้อม Bootstrap!</h1>
   {% endblock %}

ขั้นตอนที่ 5: ปรับแต่ง Vim สำหรับการพัฒนา Django

1.ติดตั้งปลั๊กอิน Vim
ใช้ตัวจัดการปลั๊กอินของ Vim เช่น vim-plug เพื่อติดตั้งปลั๊กอินที่มีประโยชน์:

   call plug#begin('~/.vim/plugged')
   Plug 'davidhalter/jedi-vim'  " การเติมคำสั่งอัตโนมัติสำหรับ Python
   Plug 'tpope/vim-surround'    " เครื่องมือจัดการข้อความ
   Plug 'vim-airline/vim-airline' " แถบสถานะ
   Plug 'nvie/vim-flake8'       " การตรวจสอบโค้ด Python
   call plug#end()

2.กำหนดค่า Vim สำหรับ Django
เพิ่มโค้ดต่อไปนี้ในไฟล์ .vimrc:

   set tabstop=4
   set shiftwidth=4
   set expandtab
   set number
   filetype plugin indent on

ขั้นตอนที่ 6: ทดสอบการตั้งค่า

1.รันคำสั่ง migrate ฐานข้อมูล

   python manage.py migrate

2.รันเซิร์ฟเวอร์

   python manage.py runserver 0.0.0.0:8000

3.เข้าถึงแอปพลิเคชัน
เปิดเบราว์เซอร์ของคุณและไปที่ http://localhost:8000


สรุป

ด้วยการรวม Docker Compose, MySQL, Bootstrap และ Vim คุณได้สร้างสภาพแวดล้อมการพัฒนาที่มีประสิทธิภาพและมีความยืดหยุ่นสำหรับ Django การตั้งค่านี้ทำให้โครงการของคุณดูแลรักษาได้ง่าย ขยายตัวได้ และมีความน่าสนใจตั้งแต่เริ่มต้น การใช้ Vim และ Docker Compose อาจมีช่วงการเรียนรู้ แต่เป็นเครื่องมือที่มีคุณค่าซึ่งช่วยให้คุณเป็นนักพัฒนาที่มีประสิทธิภาพมากขึ้น และเมื่อคุณฝึกฝน คุณจะพบว่าการใช้เครื่องมือเหล่านี้ช่วยเพิ่มความเร็วและความเพลิดเพลินในกระบวนการพัฒนาของคุณได้

Related Posts

Articles

Our Products


Related Posts

Articles

Our Products


Get in Touch with us

Speak to Us or Whatsapp(+66) 83001 0222

Chat with Us on LINEiiitum1984

Our HeadquartersChanthaburi, Thailand