Django模型未显示在模板中

时间:2019-09-19 23:00:59

标签: django django-models

我发现很难在模板中显示Django模型。该模型根本不显示在模板中。我们将不胜感激。

models.py

from django.db import models
from django.urls import reverse
from datetime import datetime


class Blog(models.Model):
    name= models.CharField(max_length = 200)
    company= models.CharField(max_length = 200)
    post = models.CharField(max_length = 200)
    author= models.ForeignKey('auth.User', on_delete = models.PROTECT)
    mantra= models.CharField(max_length = 200, help_text='make it short and precise')
    photo= models.ImageField(upload_to='photos/jobs/%Y/%m/%d/', blank=False, null=False)
    publish = models.BooleanField(default =True)


def __str__(self):
    return self.name

def get_absolute_url(self): 
   return reverse('index')

views.py

from django.shortcuts import render
from django.views.generic import TemplateView,ListView
from django.views.generic.edit import CreateView
from .models import Blog

class Home(ListView):
  model = Blog
  context_object_name = 'test'
  template_name='test.html'
  fields = ['name', 'company', 'post', 'author', 'mantra', 'continent', 'photo']

urls.py

from django.urls import path

from .views import Home

urlpatterns=[
    path('', Home.as_view(), name='index'),
]

模板

<p>{{test.name}}</p>
<p>{{test.author}}</p>
<p>{{test.post}}</p>

1 个答案:

答案 0 :(得分:2)

您应该在查询集上循环:

{% for object in test %}
      <p>{{object.name}}</p>
      <p>{{object.author}}</p>
      <p>{{object.post}}</p>
{% endfor %}