คู่มือเริ่มต้นใช้งาน Django: สร้างเว็บแอปพลิเคชันแรกของคุณอย่างรวดเร็ว
2/19/2026
3 min read
# คู่มือเริ่มต้นใช้งาน Django: สร้างเว็บแอปพลิเคชันแรกของคุณอย่างรวดเร็ว
Django เป็นเฟรมเวิร์กเว็บ Python ระดับสูง โดยมีเป้าหมายเพื่อการพัฒนาที่รวดเร็วและการออกแบบที่เรียบง่าย มันเป็นไปตามสถาปัตยกรรม Model-Template-View (MTV) ซึ่งส่งเสริมการนำโค้ดกลับมาใช้ใหม่และการสร้างส่วนประกอบ คู่มือนี้จะแนะนำคุณทีละขั้นตอนในการสร้างแอปพลิเคชัน Django อย่างง่าย เพื่อให้คุณเริ่มต้นได้อย่างรวดเร็ว
## 1. การตั้งค่าสภาพแวดล้อม
ก่อนอื่น คุณต้องตรวจสอบให้แน่ใจว่าระบบของคุณได้ติดตั้ง Python แล้ว Django แนะนำให้ใช้ Python 3.6 หรือสูงกว่า
### 1.1 การติดตั้ง Python
หากระบบของคุณไม่ได้ติดตั้ง Python คุณสามารถดาวน์โหลดและติดตั้งได้จาก [เว็บไซต์ Python](https://www.python.org/downloads/)
### 1.2 การสร้างสภาพแวดล้อมเสมือน (Virtual Environment)
เพื่อแยกการพึ่งพากันระหว่างโปรเจ็กต์ต่างๆ ขอแนะนำอย่างยิ่งให้ใช้สภาพแวดล้อมเสมือน
1. เปิดเทอร์มินัลหรือพรอมต์คำสั่ง
2. สร้างไดเร็กทอรีโปรเจ็กต์ เช่น `myproject`:
```bash
mkdir myproject
cd myproject
```
3. สร้างและเปิดใช้งานสภาพแวดล้อมเสมือน:
```bash
python3 -m venv venv # หรือ python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
```
หลังจากเปิดใช้งานสภาพแวดล้อมเสมือนแล้ว พรอมต์เทอร์มินัลของคุณจะแสดง `(venv)` ซึ่งบ่งชี้ว่าคุณกำลังใช้สภาพแวดล้อมเสมือน
### 1.3 การติดตั้ง Django
ในสภาพแวดล้อมเสมือนที่เปิดใช้งาน ให้ใช้ pip เพื่อติดตั้ง Django:
```bash
pip install Django
```
ตรวจสอบว่าการติดตั้งสำเร็จหรือไม่:
```bash
python -m django --version
```
คุณควรจะเห็นหมายเลขเวอร์ชันของ Django
## 2. การสร้างโปรเจ็กต์ Django
หลังจากติดตั้ง Django แล้ว คุณสามารถสร้างโปรเจ็กต์ Django ใหม่ได้
1. ยังคงอยู่ในไดเร็กทอรีโปรเจ็กต์ของคุณ (`myproject`) ให้รันคำสั่งต่อไปนี้:
```bash
django-admin startproject mysite
```
นี่จะสร้างไดเร็กทอรีชื่อ `mysite` ภายใต้ไดเร็กทอรี `myproject` ซึ่งมีไฟล์โครงสร้างของโปรเจ็กต์ Django
2. เข้าไปในไดเร็กทอรี `mysite`:
```bash
cd mysite
```
3. โครงสร้างไดเร็กทอรีโปรเจ็กต์ Django มีดังนี้:
```
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
```
* `manage.py`: เครื่องมือบรรทัดคำสั่งสำหรับจัดการโปรเจ็กต์ Django
* `mysite/`: แพ็กเกจ Python ที่มีไฟล์กำหนดค่าโปรเจ็กต์
* `__init__.py`: ไฟล์ว่างเปล่าที่บอก Python ว่าไดเร็กทอรีนี้ควรได้รับการพิจารณาว่าเป็นแพ็กเกจ Python
* `settings.py`: ไฟล์กำหนดค่าโปรเจ็กต์ เช่น การตั้งค่าฐานข้อมูล โหมดดีบัก ฯลฯ
* `urls.py`: การกำหนดค่าการกำหนดเส้นทาง URL ซึ่งแมป URL ไปยังฟังก์ชันวิว
* `asgi.py`: ไฟล์กำหนดค่า ASGI (Asynchronous Server Gateway Interface) สำหรับการปรับใช้แอปพลิเคชันแบบอะซิงโครนัส
* `wsgi.py`: ไฟล์กำหนดค่า WSGI (Web Server Gateway Interface) สำหรับการปรับใช้แอปพลิเคชันแบบซิงโครนัสแบบดั้งเดิม## 3. เริ่มต้นเซิร์ฟเวอร์พัฒนา
Django มาพร้อมกับเซิร์ฟเวอร์พัฒนาขนาดเล็ก (lightweight) เพื่อให้คุณพัฒนาและทดสอบในเครื่องของคุณได้อย่างสะดวก
1. ในไดเรกทอรี `mysite` ให้รันคำสั่งต่อไปนี้:
```bash
python manage.py runserver
```
2. เปิดเบราว์เซอร์ของคุณและไปที่ `http://127.0.0.1:8000/` คุณควรจะเห็นหน้าเว็บที่มีข้อความ "It worked! Congratulations on your first Django-powered page."
## 4. สร้างแอปพลิเคชัน Django
โปรเจ็กต์ Django หนึ่งโปรเจ็กต์สามารถมีหลายแอปพลิเคชันได้ มาสร้างแอปพลิเคชันชื่อ `myapp` กัน
1. เปิดหน้าต่างเทอร์มินัลใหม่ (โดยที่เซิร์ฟเวอร์พัฒนายังทำงานอยู่)
2. ในไดเรกทอรี `mysite` ให้รันคำสั่งต่อไปนี้:
```bash
python manage.py startapp myapp
```
สิ่งนี้จะสร้างไดเรกทอรีชื่อ `myapp` ภายใต้ไดเรกทอรี `mysite` ซึ่งมีไฟล์โครงสร้างพื้นฐานของแอปพลิเคชัน Django
3. โครงสร้างไดเรกทอรีของแอปพลิเคชัน Django มีดังนี้:
```
myapp/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
```
* `__init__.py`: ไฟล์ว่างเปล่าที่บอก Python ว่าไดเรกทอรีนี้ควรถูกมองว่าเป็นแพ็กเกจ Python
* `admin.py`: ใช้สำหรับกำหนดค่าส่วนจัดการผู้ดูแลระบบของ Django
* `apps.py`: การกำหนดค่าแอปพลิเคชัน
* `migrations/`: ใช้สำหรับจัดการการย้ายฐานข้อมูล
* `models.py`: กำหนดโมเดลข้อมูล (ตารางฐานข้อมูล)
* `tests.py`: เขียนกรณีทดสอบ
* `views.py`: กำหนดฟังก์ชันวิว (view function) ที่จัดการคำขอและส่งคืนการตอบสนอง
4. ใน `mysite/settings.py` ให้เพิ่ม `myapp` ลงในรายการ `INSTALLED_APPS`:
```python
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # เพิ่ม myapp
]
```
## 5. สร้างวิวอย่างง่าย
ตอนนี้เราจะสร้างวิวอย่างง่ายเพื่อแสดงข้อความ "Hello, Django!" ในเบราว์เซอร์
1. แก้ไขไฟล์ `myapp/views.py` และเพิ่มโค้ดต่อไปนี้:
```python
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django!")
```
2. สร้างไฟล์ `myapp/urls.py` และแมป URL ไปยังฟังก์ชันวิว:```python
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
```
3. รวม `myapp/urls.py` เข้ากับ `mysite/urls.py`:
```python
from django.urls import include, path
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')), # เพิ่มการกำหนดค่า URL ของ myapp
]
```
4. เข้าชม `http://127.0.0.1:8000/myapp/` คุณควรจะเห็นหน้าเว็บที่มีข้อความ "Hello, Django!"
## 6. สร้างโมเดล
มาสร้างโมเดลง่ายๆ เพื่อจัดเก็บข้อมูลกัน
1. แก้ไขไฟล์ `myapp/models.py` และเพิ่มโค้ดต่อไปนี้:
```python
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
```
นี่คือนิยามของโมเดลชื่อ `Question` ซึ่งประกอบด้วยสองฟิลด์: `question_text` (CharField) และ `pub_date` (DateTimeField).
2. สร้างและใช้การย้ายฐานข้อมูล:
```bash
python manage.py makemigrations myapp
python manage.py migrate
```
คำสั่ง `makemigrations` จะสร้างไฟล์การย้ายตามโมเดลของคุณ และคำสั่ง `migrate` จะใช้การย้ายกับฐานข้อมูล
## 7. ใช้ส่วนหลังบ้านการจัดการของ Django
Django มีส่วนหลังบ้านการจัดการที่ทรงพลัง ซึ่งช่วยให้คุณจัดการข้อมูลของคุณได้อย่างง่ายดาย
1. สร้างผู้ใช้ระดับสูง (superuser):
```bash
python manage.py createsuperuser
```
ทำตามคำแนะนำเพื่อป้อนชื่อผู้ใช้ อีเมล และรหัสผ่าน
2. แก้ไขไฟล์ `myapp/admin.py` และลงทะเบียนโมเดล `Question`:
```python
from django.contrib import admin
from .models import Question
admin.site.register(Question)
```
3. เข้าชม `http://127.0.0.1:8000/admin/` และเข้าสู่ระบบด้วยผู้ใช้ระดับสูงที่คุณสร้างขึ้น คุณควรจะเห็นโมดูล "Questions" ซึ่งคุณสามารถเพิ่ม แก้ไข และลบคำถามได้
## 8. ใช้เทมเพลต
การใช้เทมเพลตช่วยให้คุณสร้างหน้า HTML ได้อย่างยืดหยุ่นมากขึ้น
1. ในไดเรกทอรี `myapp` ให้สร้างไดเรกทอรีชื่อ `templates` และในไดเรกทอรี `templates` ให้สร้างไดเรกทอรีชื่อ `myapp` อีกครั้ง ( `myapp/templates/myapp` )
2. ในไดเรกทอรี `myapp/templates/myapp` ให้สร้างไฟล์ชื่อ `index.html` และเพิ่มโค้ดต่อไปนี้:
```html
Hello, Django!
The current time is: {{ current_time }} ``` 3. แก้ไขไฟล์ `myapp/views.py` และใช้เทมเพลต: ```python from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request, 'myapp/index.html', {'current_time': now}) ``` ฟังก์ชัน `render` จะโหลดเทมเพลตและส่งข้อมูลไปยังเทมเพลตเพื่อทำการเรนเดอร์ 4. เข้าชม `http://127.0.0.1:8000/myapp/` อีกครั้ง คุณควรจะเห็นหน้าเว็บที่มีเวลาปัจจุบันปรากฏอยู่ ## 9. บทสรุป จากคู่มือนี้ คุณได้เรียนรู้แนวคิดพื้นฐานและการใช้งาน Django รวมถึงการตั้งค่าสภาพแวดล้อม การสร้างโปรเจ็กต์และแอปพลิเคชัน การกำหนดโมเดล การสร้างวิว และการใช้เทมเพลต นี่เป็นเพียงจุดเริ่มต้น Django มีฟังก์ชันมากมายให้คุณเรียนรู้และสำรวจต่อไป เพื่อสร้างเว็บแอปพลิเคชันที่ซับซ้อนยิ่งขึ้นPublished in Technology





