2016-09-03 12 views
3

Ich habe Arbeit, indem Sie das folgende Website urls.py in einem bestehenden django 1.7 Projekt django Medien Bilder hatten:django 1.10 Medienbilder zeigen nicht

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

Diese URL-Struktur funktioniert nicht in django 1.10 und so habe ich es zu dem reccommended hier Django MEDIA_URL and MEDIA_ROOT:

urlpatterns = [ 

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

Dieses alle hochgeladenen Medien Bilder zu machen, schlägt fehl. Gibt es ein entsprechendes Medien-URL-Muster für Django 1.10, das ich verwenden kann?

Antwort

1

Sie können diese verwenden: (Django docs 1.10 Serving files uploaded by a user during development)

urlpatterns = [ 
    ... 
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

oder Sie können diese verwenden (wenn Sie es in you'r Einstellungen mit dem Debug = True in Entwicklung wollen): Django docs 1.10 Serving files in development

if settings.DEBUG: 
    urlpatterns += [ 
     url(r'^media/(?P<path>.*)$', serve, { 
      'document_root': settings.MEDIA_ROOT, 
     }), 
    ] 

Für mich ist die {{}} MEDIA_URL nicht mehr in meinem Template-Datei nicht funktioniert, habe ich die {% get_media_prefix%}:

Bsp .:

<img src="{% get_media_prefix %}{{ product.image }}">