【发布时间】:2019-12-26 11:43:32
【问题描述】:
我正在创建一个示例公司网络数据库,主要包含员工记录和资料。在其中一个页面上,我想根据部门显示所有员工。
在我的模型上,部门是一个 CharField 选项。我可以通过在views.py 中创建一个列表理解然后在html 页面上创建一个带有href 标记的forloop 按钮来显示这些部门的列表。现在在我遇到困难的地方。显然,无论单击哪个按钮,for 循环的每个元素都会被重定向到同一页面。我尝试创建一个查询过滤器并传递实际部门的名称,这将起作用。
在我看来,我有这个:
from django.shortcuts import render
from .models import Staff
def depts(request):
deptList = Staff.department_list
depts = [x[1] for x in deptList]
return render(request, 'dsvstaff/depts.html',{'depts':depts})
def theStaffs(request):
staffs = Staff.objects.filter(department='?')
return render(request, 'dsvstaff/theStaffs.html',{'staffs':staffs})
然后在我的部门列表页面上:
{% block content %}
<div class="container">
{% for dept in depts %}
<a class="btn btn-primary" href="{% url 'theStaffs' %}">{{ dept }}</a>
{% endfor %}
</div>
{% endblock %}
这个页面是我遇到困难的地方:
{% block content %}
{% for x in staffs %}
{{ x.first_name }} {{ x.last_name }} - {{ x.postion }}
{% endfor %}
{% endblock %}
我想要的是根据单击的按钮在查询过滤器中传递部门名称的名称。
【问题讨论】:
-
这里的
departement_list是什么?请分享相关模型。 -
感谢@Willem Van Onsem。这实际上是我想要实现的。添加的参数就是所有需要的。再次感谢
标签: html django-models django-templates django-views