Django

Settings & Cấu hình Production

Tách settings (base/dev/prod), quản lý secret, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS, settings SECURE_*, .env/vault, cấu hình storage

22 câu hỏi phỏng vấn·
Senior
1

Cấu trúc được khuyến nghị để tổ chức các file settings của một dự án Django trong production là gì?

Câu trả lời

Cấu trúc được khuyến nghị là tạo một package settings với file base.py chứa các cấu hình chung, sau đó các file riêng biệt dev.py, staging.py và prod.py import và mở rộng base.py. Cách tiếp cận này cho phép chia sẻ cấu hình chung đồng thời tùy chỉnh các môi trường cụ thể, giúp việc bảo trì dễ dàng hơn và giảm trùng lặp code.

2

Làm thế nào để chỉ định file settings nào sẽ dùng khi khởi động một dự án Django?

Câu trả lời

Biến môi trường DJANGO_SETTINGS_MODULE cho phép chỉ định đường dẫn Python tới module settings cần dùng. Ví dụ, DJANGO_SETTINGS_MODULE=myproject.settings.prod báo cho Django sử dụng file prod.py từ package settings. Biến này có thể được thiết lập trong shell, các file cấu hình server hoặc script deployment.

3

Chức năng của setting ALLOWED_HOSTS trong Django là gì?

Câu trả lời

ALLOWED_HOSTS là danh sách các domain/host được phép phục vụ ứng dụng Django. Cơ chế bảo mật này bảo vệ khỏi các cuộc tấn công HTTP Host header bằng cách xác thực header Host của mỗi request. Trong production với DEBUG=False, setting này là bắt buộc và phải chứa các domain hợp lệ của ứng dụng để tránh lỗi 400 Bad Request.

4

Giá trị ALLOWED_HOSTS nào chấp nhận bất kỳ host nào, và tại sao điều đó nguy hiểm trong production?

5

Setting CSRF_TRUSTED_ORIGINS được giới thiệu trong Django 4.0 dùng để làm gì?

+19 câu hỏi phỏng vấn

Nắm vững Django cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí