#python #django
#python #django
Вопрос:
Я просматриваю учебник, и мне кое-что интересно:
У меня есть приложение под названием projects с моделью:
class Project(models.Model):
title = models.CharField(max_length=100)
description = models.TextField()
technology = models.CharField(max_length=20)
image = models.FilePathField(path='/img')
Изображения находятся в app / static / img. Я вижу их на веб-сайте:
<img class="card-img-top" src="{% static project.image %}">
Но когда я захожу в admin, после нажатия на объект проекта он выходит из строя с исключением
[WinError 3] The system cannot find the path specified: '/img'
В официальном руководстве по Django на самом деле говорится, что вам нужно поместить статические файлы в app / static / app, но когда я помещаю их в projects / static / projects /img, их больше нет на веб-сайте, и администратор по-прежнему вылетает.
Я также поместил файлы в projects / static / projects /, и теперь администратор работает, но на веб-сайте не отображаются изображения, а выпадающее меню в admin также фактически не отображает изображения, поэтому я думаю, что к этим изображениям больше нет доступа.
Мои настройки
STATIC_URL = '/static/'
Есть ли документ, в котором четко указано, что должно быть в настройках и куда должны помещаться статические файлы? Я очень смущен этим.
Редактировать:
На самом деле, я вижу, что GET для изображения:
"GET /static/img/project1.png HTTP/1.1" 404 1674
Но у моей модели есть поле:
image = models.FilePathField(path='projects/img')
Ответ №1:
Все, что вам нужно сделать, это поместить ваши изображения в: projects/static/img/
например, projects/static/img/project1.png
Это будет работать. Попробовал сам на вышеупомянутом примере обучения 🙂