python - 在模板上使用 for 循环时不会显示来自 Listview 的对象 - Django
问题描述
我正在尝试通过在模板(landingpage.html)上使用for循环在Listview中显示Company中的所有对象,但它显示为空。对我来说棘手的部分是模型类(公司)来自与创建列表视图的目录不同的目录。我在 views.py 中导入模型类(公司),但它在模板上仍然显示为空。
关于为什么会这样的任何想法?
事件/views.py
from company.models import Company
class LandingpageView(ListView):
model = Event
template_name = "event/landingpage.html"
ordering = ['date']
context_object_name = 'event_list'
class LatestCompanyView(ListView):
model = Company
template_name = "event/landingpage.html"
事件/urls.py
from .views import LatestCompanyView
urlpatterns = [
path('event/landingpage/', LatestCompanyView.as_view(), name='landingpage'),
]
事件/landingpage.html
{% block content %}
<div class="row about-django">
<div class="col-6">
</div>
<div class="col-6">
<img class="about-django-img" src="{% static 'img/hero.png' %}">
</div>
</div>
<h1>Events</h1>
<div class="event-container">
{% for Event in event_list %}
<div class="row event-row">
<div class="col-4 event-col"><img src="{{ Event.eventImage.url}}" alt="{{ Event.eventTitle }}"></div>
<div class="col-4 event-col">
<h3 class="event-title">{{ Event.eventTitle }}</h3>
<div>Date: {{ Event.date }}</div>
<div>Location: {{ Event.location }}</div>
<div>Description: {{ Event.description }}</div>
</div>
<div class="col-2 event-col"><a href="{{ Event.eventUrl }}" class="btn btn-event">Buy Tickets</a></div>
</div>
{% endfor %}
</div>
<h1>Latest</h1>
<div class="event-container">
{% for Company in company_list %}
<h3 class="event-title">{{ Company.description }}</h3>
{% empty %}
Nothing here!
{% endfor %}
</div>
{% endblock %}
公司/models.py
class Company(models.Model):
user = models.ForeignKey(User, on_delete = models.CASCADE, default = None)
description = models.TextField()
def __str__(self):
return '{} {}'.format(self.user, self.description)
解决方案
事件/views.py:
class LatestCompanyView(ListView):
model = Company
template_name = "event/landingpage.html"
context_object_name = 'company_list'
推荐阅读
- winapi - 如何获得监视器重新激活的通知?再次打开监视器时,我没有收到 WM_SYSCOMMAND 消息
- linux - 约塔数据库。无法访问全局目录
- ffmpeg - 我们如何为 FFMPEG 库编写复杂的命令,以获取视频的确切帧数
- javascript - Sveltekit 客户端导入 TypeError:EasyMDE 不是构造函数并且未定义要求
- azure - Azure 托管标识和 Terraform 在 AzureUSGoverment 中不起作用
- javascript - Redux 减速器功能不起作用。状态仍未定义
- c++ - C++ & .NET,垃圾指针
- flutter - 运行返回很长列表的函数时,Dart 隔离非常慢
- r - 在 R 中使用用户定义的计算迭代和添加列
- flutter - 如何在 Wrap 小部件的每一行中添加前导小部件?