Django Views

   อัปเดตล่าสุด April 20, 2023

View คือ ส่วนที่ใช้สำหรับเขียนฟังก์ชันต่าง ๆ และจัดการเกี่ยวกับการ request/response รวมไปถึงการ render หน้า HTML ออกไปแสดงผล รวมไปดึงการ query ข้อมูลมาจากฐานข้อมูลเป็นต้น

Django MTV (View)

สรุปหน้าที่ของ View

  • จัดการกับ request/response
  • เขียน business logic เช่น query หรือดึง เพิ่ม ลบหรือแก้ไขข้อมูลจาก Model
  • Render หน้า HTML ออกไปแสดงผล รวมไปถึงการ response ในรูปแบบต่าง ๆ
  • ฯลฯ

โดยฟังก์ชัน   home()   จะเป็นหน้า Homepage และยังดึงข้อมูลของทุกโพสต์มาแสดงหน้านี้ ส่วนฟังก์ชัน   post_detail()  จะใช้แสดงรายละเอียดของแต่ละโพสต์ 

 home.html 

# blog/views.py
from django.shortcuts import render
from django.http import HttpResponse
from .models import Post


def home(request):
    posts = Post.objects.all()

    return render(request, 'blog/home.html', {
        'posts': posts
    })


def post_detail(request, post_id):
    post = Post.objects.get(id=post_id)

    return render(request, 'blog/post-detail.html', {
        'post': post
    })



คอร์สเรียนแนะนำ