Django Academy · บทเรียน

ออบเจ็กต์ HttpRequest

อ่านเมธอด เส้นทาง ข้อมูล GET และ POST

บทเรียน 2 จาก 413 ขั้นตอน

ออบเจ็กต์ HttpRequest เป็นบทเรียน Django Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Django Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน

ทำความรู้จักออบเจ็กต์คำขอ

Django จะสร้าง HttpRequest สำหรับทุกการเข้าชม และส่งให้มุมมองของคุณเป็นอาร์กิวเมนต์แรก โดยมักตั้งชื่อว่า request 📨

def view(request):
    return HttpResponse("ok")

เมธอด HTTP

ตรวจสอบ request.method เพื่อดูว่าหน้านี้ถูกเรียกขออย่างไร ค่านี้เป็นสตริง เช่น GET เมื่ออ่านข้อมูล หรือ POST เมื่อส่งข้อมูล

if request.method == 'POST':
    save_it()

เส้นทางที่ร้องขอ

ใช้ request.path เพื่ออ่านเส้นทาง URL ที่ผู้ใช้ร้องขอ เช่น /blog/ ซึ่งมีประโยชน์สำหรับการบันทึกเหตุการณ์และการแยกแขนงการทำงาน

current = request.path  # "/blog/"

ข้อมูลสตริงคำค้นหา

request.GET เก็บค่าจากสตริงคำค้นหาใน URL สำหรับลิงก์ไปยัง ?q=django, request.GET จะอ่านค่า q ให้คุณ

term = request.GET.get('q', '')

ข้อมูลการส่งแบบฟอร์ม

request.POST เก็บข้อมูลที่ส่งมาจากแบบฟอร์ม คุณสามารถดึงช่องข้อมูลด้วยชื่อของช่องนั้นได้ เช่นเดียวกับการอ่านค่าจากพจนานุกรม

name = request.POST.get('name')

ค่าเริ่มต้นที่ปลอดภัยด้วย get

ใช้ .get() กับ request.GET หรือ POST เสมอ เมธอดนี้จะส่งคืนค่าเริ่มต้นแทนการทำงานล้มเหลวเมื่อไม่พบคีย์ในข้อมูล

page = request.GET.get('page', 1)

อ่านส่วนหัวของคำขอ

ออบเจ็กต์ request.headers ช่วยให้คุณอ่านส่วนหัว HTTP ขาเข้า เช่น User-Agent หรือ Accept ตามชื่อของส่วนหัวได้

agent = request.headers.get('User-Agent')

ผู้ใช้ที่เข้าสู่ระบบ

Django จะแนบ request.user เพื่อให้มุมมองของคุณทราบว่าใครกำลังเข้าชม ค่านี้อาจเป็นผู้ใช้ที่ผ่านการยืนยันตัวตนแล้วหรือผู้ใช้ที่ไม่ระบุตัวตน

if request.user.is_authenticated:
    greet()

คุกกี้ในคำขอ

อ่านคุกกี้ที่จัดเก็บไว้ผ่าน request.COOKIES ซึ่งเป็นพจนานุกรมอย่างง่ายของชื่อและค่าที่เบราว์เซอร์ส่งมาด้วย

theme = request.COOKIES.get('theme')

สถานะเซสชัน

ออบเจ็กต์ request.session จะเก็บข้อมูลข้ามคำขอสำหรับผู้เข้าชมหนึ่งราย เหมาะสำหรับตะกร้าสินค้าหรือการค้นหาล่าสุด

request.session['count'] = 1

ไฟล์และการอัปโหลด

เมื่อแบบฟอร์มอัปโหลดไฟล์ ให้ค้นหาไฟล์เหล่านั้นใน request.FILES แต่ละรายการคือไฟล์ที่อัปโหลด ซึ่งคุณสามารถอ่านหรือบันทึกลงดิสก์ได้

upload = request.FILES.get('avatar')

ตรวจสอบอย่างรวดเร็ว

Django เก็บข้อมูลจากแบบฟอร์มที่ส่งไว้ที่ใด

ทบทวน: ออบเจ็กต์เดียวรวมทุกอย่าง

HttpRequest รวมเมธอด เส้นทาง GET, POST, ส่วนหัว ผู้ใช้ และข้อมูลอื่น ๆ ไว้ด้วยกัน อ่านออบเจ็กต์นี้เพื่อทำความเข้าใจทุกการเข้าชม 🧰

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “ออบเจ็กต์ HttpRequest” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ออบเจ็กต์ HttpRequest” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Django Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ออบเจ็กต์ HttpRequest”

อ่านเมธอด เส้นทาง ข้อมูล GET และ POST คุณปฏิบัติ Django Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Django Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Django Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “ออบเจ็กต์ HttpRequest” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Django Academy นี้ได้ไหม

ได้ บทเรียน Django Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. คำขอไปถึงวิวของคุณได้อย่างไร
  2. ออบเจ็กต์ HttpRequest
  3. ส่งคืน HttpResponse
  4. รหัสสถานะและคลาสย่อยของ HttpResponse
← กลับไปที่ Django Academy