template serve img files django django-templates media-url

serve - Django{{MEDIA_URL}} en blanco @DEPRECATED



media url django (5)

Actualización: para los usuarios de Django 1.10, los procesadores de medios y de contexto estáticos ya se movieron en django.template desde django.core, lea el siguiente artículo para obtener más información: https://docs.djangoproject.com/en/1.10/ref/templates/api/#django-template-context-processors-media

Me he golpeado la cabeza con esto durante las últimas horas. No puedo mostrar {{MEDIA_URL}} para que aparezca

en settings.py

.. MEDIA_URL = ''http://10.10.0.106/ame/'' .. TEMPLATE_CONTEXT_PROCESSORS = ( "django.contrib.auth.context_processors.auth", "django.core.context_processors.media", ) ..

en mi opinión tengo

from django.shortcuts import render_to_response, get_object_or_404 from ame.Question.models import Question def latest(request): Question_latest_ten = Question.objects.all().order_by(''pub_date'')[:10] p = get_object_or_404(Question_latest_ten) return render_to_response(''Question/latest.html'', {''latest'': p})

entonces tengo un base.html y Question / latest.html

{% extends ''base.html'' %} <img class="hl" src="{{ MEDIA_URL }}/images/avatar.jpg" /></a>

pero MEDIA_URL aparece en blanco, pensé que así es como debería funcionar, pero tal vez estoy equivocado.

Actualización La última versión corrige estos problemas.


Además de la pregunta anterior, puede sugerirle que eche un vistazo a la aplicación de photologue . Podría ayudarte a evitar los enlaces directos en los archivos de plantilla y usar objetos en su lugar. F.ex .:

<img src="{{ artist.photo.get_face_photo_url }}" alt="{{ artist.photo.title }}"/>


Agregar procesador de contexto de plantilla de medios también hace el trabajo

TEMPLATE_CONTEXT_PROCESSORS = ( "django.core.context_processors.request", "django.contrib.auth.context_processors.auth", "django.core.context_processors.media", "django.core.context_processors.static", )


También puede usar direct_to_template:

from django.views.generic.simple import direct_to_template ... return direct_to_template(request, ''Question/latest.html'', {''latest'': p})


render_to_response agregar el RequestContext en su render_to_response para render_to_response los procesadores de contexto.

En tu caso:

from django.template.context import RequestContext context = {''latest'': p} render_to_response(''Question/latest.html'', context_instance=RequestContext(request, context))

De los docs :

instancia_contextual

La instancia de contexto para representar la plantilla. Por defecto, la plantilla se representará con una instancia de contexto (llena de valores del diccionario). Si necesita usar procesadores de contexto, represente la plantilla con una instancia RequestContext.