Python Django 2.0.2中的渲染
有人能帮我吗?Django documantation表示,从第二个版本开始,不使用“render_to_response”。我无法在模板上显示列表 对于模型:Python Django 2.0.2中的渲染,python,django,django-templates,django-views,Python,Django,Django Templates,Django Views,有人能帮我吗?Django documantation表示,从第二个版本开始,不使用“render_to_response”。我无法在模板上显示列表 对于模型: class Partners(models.Model): title = models.CharField(max_length=256) description = models.TextField(blank=True) image = models.ImageField(upload_to="pictur
class Partners(models.Model):
title = models.CharField(max_length=256)
description = models.TextField(blank=True)
image = models.ImageField(upload_to="pictures", blank=True)
link = models.URLField(max_length=128, blank=True)
def __str__(self):
return self.title
我尝试了两种方法:
def partners(request):
partners_list = Partners.objects.all()
return render(request, 'partners.html', {'partners_list': partners_list})
及
模板为:
{% for partners in partners_list %}
<div class="col-sm-2" id="partners">
<div class="card">
<img class="card-img-top" src="{{partners.image.url}}" alt="Card image cap">
<div class="card-block">
<h4 class="card-title">{{partners.title}}</h4>
<p class="card-text">{{partners.description}}</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">Cras justo odio</li>
</ul>
<div class="card-block">
<a href="{{partners.link}}" class="card-link">Card link</a>
</div>
</div>
</div>{% endfor %}
]
我做错了什么?未显示合作伙伴列表。非常感谢您的帮助 你有一块钱在路上。移除它
path(r'partners/$', partners, name='partners'),
您的视图和模板看起来不错。首先,确保视图实际使用的是问题中显示的模板。如果循环在模板中没有显示任何内容,则表明数据库中没有任何合作伙伴。您可以通过将
打印(合作伙伴列表)
添加到视图中进行检查。Django调试工具栏对于调试此类问题非常有用。您看到了什么?我什么也看不到,只有基本模板和可用空间。.没有错误Django中的建议是对模型使用单数,例如类伙伴(models.model):
,伙伴列表=伙伴.objects.all()
,{%for partner_list%}
等等。我重命名了所有,删除了数据库,进行了新的迁移并创建了2个partner-nothing:(如果数据库中确实有合作伙伴,那么最可能的问题是您没有呈现模板片段。您没有显示模板设置或项目布局(甚至说了该模板的名称),因此我们无法提供任何具体帮助。请尝试安装Django调试工具栏,它可能会帮助您找出问题所在。不幸的是,仍然无法工作…我通过基本Django管理模板创建了几个合作伙伴。@PavelLisitsyn如果打印(合作伙伴列表),会发生什么情况,它是显示一个包含对象的查询集,还是仅显示一个空的查询集?当我试图打印该查询集时,会出现下一条消息:回溯(最近一次调用):文件“”,第1行,在文件“C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.3\helpers\pydev_pydev_bundle\pydev_import_hook.py”的第20行,在do_import module=self.\u system\u import中(name,*args,**kwargs)keyrorm:“'name'不在globals中”(这是关于从.models导入Partners类的内容),如果在视图中的print(Partners\u list)
之后的行中放置Partners\u list=Partners.objects.all()
,则不应出现名称错误。
urlpatterns = [
path('admin/', admin.site.urls),
path(r'', headpage, name='headpage'),
path(r'about/', about, name='about'),
path(r'partners/$', partners, name='partners'),
path(r'partners/$', partners, name='partners'),