Я пытаюсь создать модель игры Django с полями для имени, а также обложкой, которая находится в папке stati c приложения.
def game_covers_path():
return os.path.join(settings.STATIC_URL, 'some_app/games/')
class Game(models.Model):
name = models.CharField(max_length=100, primary_key=True)
cover = models.FilePathField(path=game_covers_path, null=True)
def __str__(self):
return self.name
My структура папок выглядит следующим образом:
.
├── db.sqlite3
├── my_app
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
└── some_app
├── __init__.py
├── admin.py
├── apps.py
├── migrations
├── models.py
├── static
│ └── some_app
│ ├── games
│ │ ├── Counterstrike:\ Global\ Offensive.jpg
├── templates
├── tests.py
├── urls.py
└── views.py
Но когда я открываю страницу администратора, я получаю следующую ошибку:
FileNotFoundError at /admin/some_app/game/add/
[Errno 2] No such file or directory: '/static/some_app/games/'
Как правильно ссылаться на изображения в папке stati c приложения в базе данных? Также FilePathField проверяет, существует ли файл перед сохранением модели? Потому что я попытался добавить случайные значения, и он сохранил его, но в документации написано, что вы можете выбрать только файл, который уже существует ...