В Django, чтобы сделать редактирование пространства под файлы каждого пользователя в админке, вам понадобится использовать комбинацию пользовательских моделей, моделей администратора Django и настройку статических маршрутов для обработки файлов.
Первым шагом является создание пользовательской модели для хранения информации о файле пользователя. Вы можете создать новую модель, которая будет содержать поля, такие как Имя пользователя, Описание файла, Файл и любые другие дополнительные поля, которые вам понадобятся.
Примерная модель может выглядеть следующим образом:
from django.db import models from django.contrib.auth.models import User class UserFile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) file_name = models.CharField(max_length=255) description = models.TextField() file = models.FileField(upload_to='user_files/')
Затем вам нужно настроить административный интерфейс Django для управления записями в этой модели. Создайте файл admin.py
в вашем приложении и добавьте следующий код:
from django.contrib import admin from .models import UserFile admin.site.register(UserFile)
Это зарегистрирует модель UserFile
в административном интерфейсе Django и позволит вам просматривать и редактировать записи в этой модели через админку.
Кроме того, вы должны добавить статический маршрут, чтобы обслуживать загруженные файлы пользователя. Добавьте следующий код в urls.py
вашего проекта:
from django.conf import settings from django.conf.urls.static import static urlpatterns = [ # ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Здесь settings.MEDIA_URL
- это URL-префикс для статических файлов, а settings.MEDIA_ROOT
- это путь к корневой директории, где будут храниться загруженные файлы.
Теперь, когда модель и административный интерфейс настроены, каждый пользователь сможет загружать файлы и редактировать информацию о своих файлах через админку Django. Когда файл будет загружен, он будет сохранен в директории, указанной в поле upload_to
вашей модели UserFile
.