Tengo un problema extraño, quiero agregar una consulta global utilizando procesadores de contexto. Esta es la forma en que lo hice por following:Django, procesadores de contexto de plantilla
hizo una processor.py en mi aplicación como tal:
from myproject.myapp.models import Foo
def foos(request):
return {'foos': Foo.objects.all()}
y al final de mi setting.py He añadido este:
TEMPLATE_CONTEXT_PROCESSORS = ('myapp.processor.foos',)
por último me pasan a mi vista como ésta:
def index_view(request):
return render_to_response('index.html', {}, context_instance=RequestContext(request))
y en mi plantilla index.html :
<select id="select_foo">
{% for foo in foos %}
<option value="/{{ foo.slug }}">{{ foo.name }}</option>
{% endfor %}
</select>
Y por último mi url:
(r'^$', 'myapp.views.index_view'),
Mi pantalla Foos sin ningún problema, sin embargo, mi MEDIA_URL y otros contextos se han ido. Cuál puede ser el problema
I extrañamente no tengo TEMPLATE_CONTEXT_PROCESSORS en mi settings.py, usando el Django 1.1.1 predeterminado y media_url funcionaba bien antes. – Hellnar
Eso es porque si no lo especifica, usa los valores predeterminados especificados en la configuración de djangos. Así es como funcionan todas las configuraciones de django, tienen un valor predeterminado que se usará si no lo tienes en tu 'settings.py'. –
¡Gracias ahora trabajando! Recibí el error, así que eliminé "django.contrib.messages.context_processors.messages", Creo que esto es para la versión de desarrollo de django, no 1.1.1 – Hellnar