关于Django的观点,我有些不太了解。我的网站将有一个表,表上有不同的作业或负载。这叫做负荷板。它引用一个名为Loadboard_table的数据库表。Loadboard_表包含数据库中Company_表的外键。此数据库表包含分配此作业/负载的公司以及公司的其他信息。在
目标是让用户点击装载板上的任何一行,这将把用户带到公司的“详细信息”页面。我已经展示了下面代码的一个浓缩部分,以避免使问题膨胀。在
索引上的表行项目
<!-- this is where I grab my Company table foreign key by clicking on one of the loadboard items -->
<td>
<a href="{% url 'loadboard:detail' item.CompanyName_id %}"> {{item.CompanyName}}</a>
</td>
在网址.py在
^{pr2}$在视图.py在
from django.views import generic
from .models import Company_table, Loadboard_table
class IndexView(generic.ListView):
template_name = 'loadboard/index.html'
context_object_name = 'all_loadboard'
def get_queryset(self):
return Loadboard_table.objects.all()
class DetailView(generic.DetailView):
model = Company_table
template_name = 'loadboard/detail.html'
在详细信息.html在
<!-- I want this detail page to show the Company that the loadboard's foreign key references -->
<head>
<title>{% block title %}{{Company_table.CompanyName}}'s loadboard{% endblock %}</title>
</head>
非常感谢您的帮助!在
我找到了一种不使用DetailView类就可以达到目标的方法。我简单地创建了一个函数来处理HTTP请求并从url接收CompanyId。我认为DetailsView类用于更具体的情况。在
当用户单击时:
然后它触发这个URL模式网址.py公司名称:
^{pr2}$在上使用函数视图.py公司名称:
这实现了我的目标,尝试从用户单击表的地方传递公司id,并将其一直传递到views页面并获得该HTML页面。在
对于泛型模型中的DetailsView类,我可能是错的,它对主键过于具体,但有人可以纠正我的错误。在
相关问题 更多 >
编程相关推荐