# Tải tệp lên (Django) > FileField, ImageField, media files, file storage backends, custom storage, chunked uploads - 20 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van.md) ## 1. Nên dùng trường Django nào để lưu trữ một tệp được tải lên thuộc bất kỳ loại nào? **Câu trả lời** FileField là trường tiêu chuẩn để lưu trữ bất kỳ loại tệp nào trong Django. Nó tự động xử lý việc lưu trữ trên hệ thống tệp và lưu đường dẫn tương đối vào cơ sở dữ liệu. Trường này yêu cầu cấu hình MEDIA_ROOT để xác định thư mục lưu trữ vật lý. ## 2. Sự khác biệt chính giữa FileField và ImageField là gì? **Câu trả lời** ImageField kế thừa từ FileField và bổ sung xác thực tự động để đảm bảo tệp được tải lên là một hình ảnh hợp lệ. Nó kiểm tra header của tệp và có thể trích xuất kích thước hình ảnh thông qua các thuộc tính width và height. Nó cần thư viện Pillow để hoạt động. ## 3. Tham số nào trong settings.py xác định thư mục cơ sở cho các tệp được tải lên? **Câu trả lời** MEDIA_ROOT xác định đường dẫn tuyệt đối đến thư mục nơi Django lưu trữ các tệp do người dùng tải lên. Tham số này phải trỏ đến một thư mục mà ứng dụng có quyền ghi. MEDIA_URL xác định URL công khai để truy cập các tệp này. ## Còn 17 câu hỏi nữa - Thuộc tính form HTML nào là bắt buộc để cho phép tải tệp lên? - Làm thế nào để truy cập các tệp được tải lên trong một view Django? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Django khác - [Kiến thức cơ bản về Python](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/python-basics.md): 25 câu hỏi, Junior - [Python hướng đối tượng](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/python-oop.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-fundamentals.md): 20 câu hỏi, Junior - [Models Django - Cơ bản](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-models-basics.md): 22 câu hỏi, Junior - [Django Views](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-views.md): 20 câu hỏi, Junior - [Template Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-templates.md): 18 câu hỏi, Junior - [Django Forms](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-forms.md): 22 câu hỏi, Mid-Level - [QuerySets nâng cao](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-querysets.md): 25 câu hỏi, Mid-Level - [Xác thực Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-authentication.md): 22 câu hỏi, Mid-Level - [Middleware Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-middleware.md): 18 câu hỏi, Mid-Level - [Django Admin](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-admin.md): 20 câu hỏi, Mid-Level - [Django REST Framework](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-rest-framework.md): 30 câu hỏi, Mid-Level - [Signal trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-signals.md): 18 câu hỏi, Mid-Level - [Caching trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-caching.md): 20 câu hỏi, Mid-Level - [Session Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-sessions.md): 18 câu hỏi, Mid-Level - [Email trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-email.md): 18 câu hỏi, Mid-Level - [Kiểm thử Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-testing.md): 22 câu hỏi, Mid-Level - [Bảo mật Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-security.md): 22 câu hỏi, Mid-Level - [Triển khai Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-deployment.md): 24 câu hỏi, Mid-Level - [Django ORM nâng cao](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-orm-advanced.md): 28 câu hỏi, Senior - [Hiệu năng Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-performance.md): 24 câu hỏi, Senior - [Django & Celery](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-celery.md): 22 câu hỏi, Senior - [Django Channels](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-channels.md): 24 câu hỏi, Senior - [Django & GraphQL](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-graphql.md): 24 câu hỏi, Senior - [Django & Docker](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-docker.md): 20 câu hỏi, Senior - [Django trong hệ sinh thái Microservices](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-microservices.md): 24 câu hỏi, Senior - [Lệnh Django tùy chỉnh](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-custom-commands.md): 18 câu hỏi, Senior - [Quốc tế hóa trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-internationalization.md): 20 câu hỏi, Senior - [Design Patterns trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-design-patterns.md): 24 câu hỏi, Senior - [Django Async & ASGI](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-async-asgi.md): 26 câu hỏi, Senior - [Settings & Cấu hình Production](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-settings-configuration.md): 22 câu hỏi, Senior - [Observability & Monitoring](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-observability.md): 24 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-file-upload