2017-04-26 21 views
0

Zeigt kein Bild an!Zeigt kein Bild an! Django

Bild ist vorhanden, dut django hat keine Bilder auf der Seite angezeigt, wie Sie das beheben?

das ist mein 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' 

diese

meine views.py ist
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) 

das ist meine Vorlage

<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> 

Wenn Sie an dem Elementcode suchen, die Bilder, dann in der Zeile "src" gibt es einen Pfad zum Bild, und es funktioniert! Aber zeigt das Bild nicht selbst an!

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

dies Fehler in der Konsole (f12)

GET http://127.0.0.1:8000/media/previews/previews_for_series/1.png 404 (Not Found) 
+0

Können Sie uns die Ausgabe von 'full_path' zeigen? –

+0

Können Sie "image" in der Admin-Seite des zugehörigen Modells sehen? Dies könnte mit statischen und Medienpfadeinstellungen für den Entwicklungsserver zusammenhängen. – alix

+0

Es stellt sich heraus, wenn ich diesen Pfad "http://127.0.0.1:8000/media/previews/previews_for_series/1.png" und schreibt dann, dass die Seite nicht gefunden wird, aber es ist in dem Ordner, in dem, in dem es sollte sein! –

Antwort

0

Tun Sie dies!

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) 
0

nur ein kurzer Gedanken, Sie zeigen mir nicht die Dinge, die Sie benötigen zu arbeiten. Zum Beispiel, wenn Sie dies, wenn für die Entwicklung auf den Urls Sie diese https://docs.djangoproject.com/en/1.11/howto/static-files/#serving-files-uploaded-by-a-user-during-development und auf Ihre Einstellungen benötigen Sie möglicherweise etwas wie das

MEDIA_URL = ‚/ media /‘

MEDIA_ROOT = os.path.join (BASE_DIR, müssen " Medien ")

ich hoffe, es

hilft Bestes

+0

Alter, ich bin nicht so dumm, es nicht wegzunehmen! STATIC_ROOT = os.path.join (BASE_DIR, "statisches_cdn") MEDIA_URL = "/ media /" MEDIA_ROOT = os.path.join (BASE_DIR, "media_cdn") –

0

Vielleicht haben Sie nicht die Medien zu Ihrem urls.py

hinzugefügt