不显示图像! Django的

时间:2017-04-26 08:15:10

标签: python django image django-models

  

不显示图像!

图片存在,dut django没有在页面上显示任何图片,如何解决这个问题?

这是我的models.py

class All_Images_Of_The_Series(models.Model): 
    to_series                               = models.ForeignKey(Series, on_delete=models.CASCADE, blank=True, default=None)
    image_of_all                            = models.ImageField(upload_to="previews/previews_for_series/", default=None,width_field="width_field", height_field="height_field")
    is_poster                               = models.BooleanField(default=False) 
    is_active                               = models.BooleanField(default=True)
    width_field                             = models.IntegerField(default=0)
    height_field                            = models.IntegerField(default=0)
    timestamp                               = models.DateTimeField(auto_now_add=True, auto_now=False)
    updated                                 = models.DateTimeField(auto_now_add=False, auto_now=True)

    def __str__(self):
        return "Active: |%s| and Poster: |%s| " % (self.is_active, self.is_poster)

    class Meta:
        ordering                            = ["-timestamp"]
        verbose_name                        = 'All_Images_of_the_Series'
        verbose_name_plural                 = 'All_Images_of_the_Series'

这是我的views.py

def homeview(request, *args, **kwargs):
    full_path                       = All_Images_Of_The_Series.objects.all()
    context = {"full_path":full_path,}
    return render(request, 'home.html', context)

这是我的模板

<div class="col-sm-3 right-side">
                <div class="new-movies-block">
                    <a class="header" href="#/new/">
                        <div class="title">Новинки</div>
                    </a>
                    {% for one_to_one_path in full_path %}
                        <div class="movie-spacer" ></div>
                        <a class="new-movie" href="{{ one_to_one_path.to_series.get_absolute_url }}" title="{{ one_to_one_path.to_series.eng_name }}">
                            <div class="title-info">
                            {{ one_to_one_path.to_series.season_of_this_series.number_of_season }} сезон {{ one_to_one_path.to_series.number_of_series }} серия 
                            </div>
                            <div class="date">{{ one_to_one_path.to_series.timestamp_rus }}</div>
                            <img src="{{ one_to_one_path.image_of_all.url }}" class="img-responsive">
                        </a>
                    {% endfor %}
                </div>
            </div>

如果你看一下元素代码,图像,然后在行&#34; src&#34;有图片的路径,它正在工作!但是不显示图片本身!

<img src="/media/previews/previews_for_series/1.png" class="img-responsive">

这是控制台(f12)

中的错误
GET http://127.0.0.1:8000/media/previews/previews_for_series/1.png 404 (Not Found)

3 个答案:

答案 0 :(得分:0)

只是一个简单的想法,你没有告诉我你可能需要工作的东西。例如,如果要在网址上进行开发,则需要使用此https://docs.djangoproject.com/en/1.11/howto/static-files/#serving-files-uploaded-by-a-user-during-development并根据您的设置,您可能需要这样的内容

MEDIA_URL ='/ media /'

MEDIA_ROOT = os.path.join(BASE_DIR,“media”)

我希望它有所帮助

最佳

答案 1 :(得分:0)

也许您还没有将媒体添加到您的urls.py

From django.conf import settings

# your stuff

if settings.DEBUG:

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

答案 2 :(得分:0)

这样做!

from django.conf.urls import include, url
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    url(r'^admin/', admin.site.urls),

    url(r'^series/', include("serials.urls", namespace='series')),
    url(r'^', include("serials.urls", namespace='homeview')),



]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)