Отображение изображений в Django

#python #django #django-models #django-admin #django-forms

#python #django #django-модели #django-администратор #django-формы

Вопрос:

Пытаюсь с определенной папкой отобразить изображение, но не получается, подскажите, что я делал не так и где, может чего-то не хватает? Все изображения находятся в папке C:diptodo . Используйте runserver.

settings.py

 MEDIA_ROOT = 'C:/dip/todo/' 
MEDIA_URL = 'http://127.0.0.1:8000/media/'
ADMIN_MEDIA_PREFIX = '/admin-media/'
  

admin.py

 class StatAdmin( admin.ModelAdmin ): 
  list_display = ( 'title', 'image') 
  

models.py

 class Stat( models.Model ): 
  title = models.CharField(max_length = 255,verbose_name = "Статистика" ) 
  image = models.ImageField(upload_to='media')

  def __unicode__( self ): 
    return u"%s" % self.title

  class Meta:
    verbose_name = 'Статистика' 
    verbose_name_plural = 'Диаграммы' 
  

urls.py

 urlpatterns = patterns( '',
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}), ) 
  

base_site.html

 {% extends "admin/base.html" %} 
{% load i18n %} 
{% block title %}{{ title }} | Реестр инплантатов{% endblock %}
{% block branding %} 
<h1 id="site-name">Реестр инплантатов</h1> 
{% endblock %} 
  

Комментарии:

1. Нам нужно будет просмотреть ваш код представления и код шаблона, который отображает изображение, чтобы иметь возможность помочь вам.

Ответ №1:

Ваш МЕДИА-URL говорит:

 MEDIA_URL = 'http://127.0.0.1:8000/media/'
  

Но в URL-адресах у вас есть:

 (r'^site_media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}), )
  

Попробуйте изменить site_media на media , и это должно сработать

Комментарии:

1. Нет, это не работает, я не уверен, что все правильно настроено в шаблоне ‘base_site.html и madels.py

2. @user723603 — этот ответ устраняет хотя бы часть проблемы, но нам понадобится больше деталей, чтобы помочь вам.

3. 0 голосов «Против» согласны с этим вопросом, и я не совсем понимаю, что требуется описать в view.py и что именно вы хотите добавить в шаблон base_site.html .?