2015-06-07 5 views
0

Привет Im, используя этот код для рендерингаКак вынести QuerySet в шаблоне Джанго

def ShowContent(dic, htmlpage): 
    plantilla = get_template(htmlpage) 
    c = Context(dic) 
    renderizado = plantilla.render(c) 
    return HttpResponse(renderizado) 

и я хочу представить этот запрос, поэтому я использую Dict «AllQuery» для «todas.html».

def ShowAll(request): 
    AllQuery = Actividad.objects.all().order_by('fecha') 
    print AllQuery 
    return ShowContent(AllQuery, 'todas.html') 

Я не знаю, как представить это в моем шаблоне

    <tr> 
         <td></td> 
         <td> </td> 
         <td> </td> 
         <td> </td> 
         <td> </td> 
        </tr> 

Actividad из models.py

class Actividad(models.Model): 
    id_evento = models.IntegerField(primary_key=True) 
    titulo = models.CharField(max_length=100) 
    tipo_evento = models.CharField(max_length=50) 
    gratis = models.BooleanField(default=False) 
    fecha = models.DateField() 
    hora = models.TimeField() 
    largo = models.BooleanField(default=False) 
    url = models.URLField(max_length=128) 

любая идея? Я думаю, что это легко, но я не понимаю. Я пытаюсь это:

      {% for i in AllQuery %} 
           { AllQuery.i.titulo } 
          {% endfor %} 

от взглядов, я могу получить доступ делает

def ShowAll(request): 
    AllQuery = Actividad.objects.all().order_by('fecha') 
    print AllQuery[0].titulo 
+0

Это должно работать, {% для I в AllQuery%} {{i.titulo}} {% ENDFOR%} –

+0

это не так, я пробовал: «(help? – dmanso

+0

Я думаю, что набор запросов возвращает мне список, а не dict. Я имею в виду, список объектов« Actividad », Actividad - это dict – dmanso

ответ

1

Просто используйте общий вид списка, это сделает вашу жизнь намного проще и сэкономить время.

class ListView(generic.ListView) 
    model=Actividad 
    template_name='todas.html' 

, а затем в шаблоне вы можете отобразить список как так

{% for i in object_list %} 
    {{ i.titulo }} 
{% endfor %} 
Смежные вопросы