
Settings และการตั้งค่า Production
การแยก settings (base/dev/prod), การจัดการ secret, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS, settings SECURE_*, .env/vault, การตั้งค่า storage
1โครงสร้างที่แนะนำสำหรับการจัดระเบียบไฟล์ settings ของโปรเจกต์ Django ใน production คืออะไร?
โครงสร้างที่แนะนำสำหรับการจัดระเบียบไฟล์ settings ของโปรเจกต์ Django ใน production คืออะไร?
คำตอบ
โครงสร้างที่แนะนำคือการสร้าง package settings ที่มีไฟล์ base.py ซึ่งบรรจุการตั้งค่าทั่วไป จากนั้นมีไฟล์แยก dev.py, staging.py และ prod.py ที่ import และขยาย base.py แนวทางนี้ช่วยให้แชร์การตั้งค่าทั่วไปได้พร้อมกับปรับแต่งสภาพแวดล้อมเฉพาะ ทำให้ดูแลรักษาง่ายขึ้นและลดการเขียนโค้ดซ้ำ
2จะระบุว่าจะใช้ไฟล์ settings ใดเมื่อเริ่มโปรเจกต์ Django ได้อย่างไร?
จะระบุว่าจะใช้ไฟล์ settings ใดเมื่อเริ่มโปรเจกต์ Django ได้อย่างไร?
คำตอบ
ตัวแปรสภาพแวดล้อม DJANGO_SETTINGS_MODULE ช่วยให้ระบุ path แบบ Python ไปยังโมดูล settings ที่จะใช้ได้ ตัวอย่างเช่น DJANGO_SETTINGS_MODULE=myproject.settings.prod บอกให้ Django ใช้ไฟล์ prod.py จาก package settings ตัวแปรนี้สามารถตั้งค่าได้ใน shell, ไฟล์การตั้งค่าเซิร์ฟเวอร์ หรือสคริปต์ deployment
3setting ALLOWED_HOSTS ใน Django มีหน้าที่อะไร?
setting ALLOWED_HOSTS ใน Django มีหน้าที่อะไร?
คำตอบ
ALLOWED_HOSTS คือรายการ domain/host ที่ได้รับอนุญาตให้ให้บริการแอปพลิเคชัน Django กลไกความปลอดภัยนี้ป้องกันการโจมตีแบบ HTTP Host header โดยการตรวจสอบ header Host ของแต่ละ request ใน production ที่ตั้ง DEBUG=False setting นี้เป็นสิ่งจำเป็นและต้องบรรจุ domain ที่ถูกต้องของแอปพลิเคชันเพื่อหลีกเลี่ยงข้อผิดพลาด 400 Bad Request
ค่า ALLOWED_HOSTS ใดที่ยอมรับ host ใดก็ได้ และเหตุใดจึงอันตรายใน production?
setting CSRF_TRUSTED_ORIGINS ที่เปิดตัวใน Django 4.0 มีไว้เพื่ออะไร?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Django อื่นๆ
พื้นฐาน Python
Python เชิงวัตถุ
พื้นฐาน Django
Django Models - พื้นฐาน
Django Views
เทมเพลต Django
ฟอร์ม Django
QuerySets ขั้นสูง
การยืนยันตัวตนใน Django
Django Middleware
Django Admin
Django REST Framework
Django Signals
การอัปโหลดไฟล์
การแคชใน Django
Django Sessions
อีเมลใน Django
การทดสอบ Django
ความปลอดภัยของ Django
การ Deploy Django
Django ORM ขั้นสูง
ประสิทธิภาพของ Django
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django ในระบบนิเวศ Microservices
คำสั่ง Django แบบกำหนดเอง
การทำให้รองรับหลายภาษาใน Django
Design Patterns ใน Django
Django Async และ ASGI
Observability และ Monitoring
เชี่ยวชาญ Django สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี