Проблема с отображением изображений в django admin

#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

Это будет работать. Попробовал сам на вышеупомянутом примере обучения 🙂