【发布时间】:2010-11-25 07:36:00
【问题描述】:
我正在创建一个存在于我的数据库中的用户列表,它们通过使用通用视图显示在 user_list.html 模板中,但是我的模型从模型中的其他类继承了它的许多属性。现在我希望当用户点击他的名字时,他应该被重定向到 user_detail.html 页面,他应该在这里得到他的详细信息。 细节将从数据库中提取,它只是从定义查询集的同一模型中提取值。
我的 views.py 看起来像
from django.contrib.auth.models import User
from django.shortcuts import render_to_response, get_object_or_404
from django.views.generic.list_detail import object_list, object_detail
from contacts.models import *
def employee_list(request, queryset=None, **kwargs):
if queryset is None:
queryset = Employee.objects.all()
return object_list(
request,
queryset=queryset,
paginate_by=20,
**kwargs)
def employee_detail(request, employee_id):
return object_detail(
request,
queryset= Employee.objects.all(),
# extra_context ={"EC_list": EmergencyContact.objects.all()},
object_id=employee_id)
urls.py
from contacts.views import employees
urlpatterns = patterns('',
url(r'^$',
employees.employee_list,
name='contacts_employee_list'),
url(r'^(?P<employee_id>\d+)/$',
employees.employee_detail,
name='contacts_employee_detail'),
我的employee_deutil.html 看起来像
{% block title %} Employee details {% endblock %}
{% block heading1%}<h1> Employee's Details </h1>{% endblock %}
{% block right_menu %}
{% if object %}
<ul>
<li> Name:{{ object.full_name }}</li>
<li> Contact No.: {{ object.phone_number }}</li>
<!-- <li> Refrence Contact No.: {{ EC_list.contact }}</li> -->
<li> Blood Group: {{ object.blood_type }}</li>
<li> Martial Status: {{ object.martial_status }}</li>
<li> Nationality: {{ object.about }}</li>
<!-- <li> Relationship: {{ EC_list.relationship }}</li>
<li>Course: {{ object.course }}</li> -->
</ul>
{% else %}
No Registered user present.
{% endif %}
{% endblock %}
所以请帮助我弄清楚如何显示其他模型中存在的员工的所有数据。谢谢!
【问题讨论】:
-
在代码中包含行号根本不是一个好主意。您应该删除它们。
-
你的问题是什么?什么目前不起作用?您希望看到什么,而您又看到了什么?
-
你好伙计,我想用数据库模型中可用的所有细节来填充我的模板。我的模型也有外键等关系,我无法显示与其他模型有外键关系的模型的那些属性。
标签: python django views generics