【发布时间】:2018-05-29 17:38:08
【问题描述】:
我有一个基于某些参数请求数据的应用程序。我使用两个函数来处理请求,然后从响应中创建两个对象。我能够单独遍历每个对象并在我的网页上显示特定对象的数据,但是当我尝试同时使用这两个函数时,只有一个函数会遍历该对象。我的理解是这个问题与 URL 模式有关,但我不知道最好的方法是什么。您将在下面找到我的 urlpatterns、我的函数以及我用来访问视图的 HTML。
urls.py
urlpatterns = [
path('', views.customer, name='customer'),
path('', views.information, name='information'),
]
views.py
def customer(request):
for i, contact in enumerate(contactObj):
try:
contacts = contactObj
context = {'contacts': contacts}
except KeyError:
print()
return render(request, 'uccx/home.html', context)
def information(request):
for i, ticket in enumerate(ticketObj):
try:
tickets = ticketObj
context = {'tickets': tickets}
except KeyError:
print()
return render(request, 'uccx/home.html', context)
home.html
<tbody>
{% for ticket in tickets %}
<tr class="{% cycle 'row1' 'row2'">
<td> {{ ticket.id }} </td>
<td> {{ ticket.company.name }} </td>
<td> {{ ticket.summary }} </td>
</tr>
{% endfor %}
</tbody>
【问题讨论】:
-
您发布的代码在运行时会遇到
NameError。contactObj和ticketObj均未定义。 -
@ndmeiri 我发布了一个与手头问题相关的代码,而不是我的整个项目,我的对象已定义并且代码按其预期运行。
-
您必须为每个视图定义不同的 URL。目前,这两个视图的 URL 相同,因此每次调用名称
customer或information时,这将始终转到您的客户视图,如上面定义的那样。 -
@GarrettMarschke 然后发布定义对象的代码,因为这可能与问题有关。当函数体在执行时会崩溃时,为什么还要包含函数体呢?至少,您应该在原始帖子中添加一条注释,说明您包含了视图函数的精简版本。请考虑阅读How to create a Minimal, Complete, and Verifiable example。