Views(วิว)

Views Django เป็นฟังก์ชันใน Python ที่รับคำขอ http และส่งคืนค่า http ตอบกลับ เช่นเอกสาร HTML

หน้าเว็บที่ใช้ Django เต็มไปด้วย Views ที่จะมีงาน และภารกิจที่แตกต่างกันออกไป

โดยปกติแล้ว Views จะใส่ไว้ในไฟล์ชื่อviews.pyที่อยู่ในโฟลเดอร์ของแอปที่สร้างขึ้น

อย่างเช่น views.py อยู่ในโฟลเดอร์ membersของคุณที่มีลักษณะดังนี้:

members/views.py:

from django.shortcuts import render

# Create your views here.

อธิบายเพิ่มเติมนิดหน่อย from django.shortcuts import render คือ การเรียก render() มาใช้งาน render() คือการรวมเทมเพลตมาใช้งานแล้วแสดงผลกลับ อ่านเพิ่มเติมได้ที่ Django shortcut functions | Django documentation | Django

หลังจากได้เจอแล้วใส่คำสั่งนี้ไปแทนที่ได้เลย :

members/views.py:

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("สวัสดีชาวโลก")

อธิบายเพิ่มเติมนิดหน่อย from django.http import HttpResponse คือ การเรียก HttpResponse() มาใช้งาน HttpResponse() คือเมื่อมีคำขอหน้า Django จะทำการสร้างวัตถุ HttpReques ที่มีข้อมูลเมตาเกี่ยวกับคำขอ จากนั้น Django จะโหลด Views ที่เหมาะสม โดยส่งผ่านอาร์กิวเมนต์แรกของ HttpRequest ไปยังฟังก์ชัน Views แต่ละ Views มีหน้าที่ในการส่งวัตถุ HttpResponse คืนกลับ อ่านเพิ่มที่ : Request and response objects | Django documentation | Django

นี่เป็นตัวอย่างง่ายๆ เกี่ยวกับวิธีการส่งคำตอบกลับไปยังเบราว์เซอร์

แต่เราจะแสดงผลที่เราเขียน Views ได้ยังไงหล่ะ เราจะต้องเรียก Views ผ่าน URL

URLs

เมื่อผู้ใช้ส่งคำขอ URL มาจากนั้น Django จะตัดสินใจว่าจะส่งไป ที่ Views ต่างๆ

โดยให้สร้างไฟล์ที่มีชื่อว่า urls.py โดยให้อยู่อยู่ในโฟลเดอร์เดียวกับ views.pyไฟล์ แล้วพิมพ์โค้ดนี้ลงไป:

members/urls.py:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

จากนั้นไปที่โฟลเดอร์ my_web ซึ่งอาจจะงงเพราะ my_web มีสองอัน เลือกอันที่สองที่ไม่ใช่อันแรกที่สร้าง อาจจะงงคอยดูรูปดีกว่า โดยไปแทนที่ไฟล์ในนั้นด้วยคำสั่งนี้ :

my_web/urls.py:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('members/', include('members.urls')),
    path('admin/', admin.site.urls),
]

from django.contrib import admin คือที่อยู่ของหน้าสำหรับ แอดมิน

from django.urls import include, path

path() คือระบบเส้นทาง

include() คือตำแหน่งไฟล์ Views ของ แอป members

path(' ชื่อเส้นทาง url ', include('ชื่อแอปที่สร้าง.urls')

จากนั้นรันเซิฟเวอร์ ด้วยคำสั่งนี้ (อย่าลืมทุกอย่างด้วยนะไม่งั้น error):

py manage.py runserver

ในหน้าต่างเบราว์เซอร์ ให้พิมพ์[127.0.0.1:8000/members/](http://127.0.0.1:8000/members/)ในแถบที่อยู่

ที่มา : Django Views