我正在尝试在表格中显示所有用户。当我在shell中运行以下命令时,它返回的正是我想要的内容,但是当我在Django中执行此操作时,什么也没有显示。
这是在shell中运行的命令:
import pyad
import pyad.adquery
q = pyad.adquery.ADQuery()
q.execute_query(
attributes = ["displayName", "manager", "description",
"telephoneNumber", "otherTelephone","mail",
"title", "department", "info", "userAccountControl"],
where_clause = "objectClass = '*'",
base_dn = "OU=Hidden, DC=for, DC=security"
)
for row in q.get_results():
name = row["displayName"]
desc = row["description"]
phone = row["telephoneNumber"]
phone2 = row["otherTelephone"]
mail = row["mail"]
title = row["title"]
department = row["department"]
extension = row["info"]
status = row["userAccountControl"]
man = row["manager"]
if man is not None:
print(name + ' | ' + title + ' | ' + phone + ' | ' + extension + ' | ' + mail)
这是网址调用:
from adsi import views as dir
urlpatterns = [
url(r'^managers/$', dir.ADView.as_view(), name='managers'),
这是我的观点:{{ Updated_Code }}
@method_decorator(login_required, name='dispatch')
class ADView(ListView):
template_name = 'managers.html'
context_object_name = 'row'
import pythoncom
pythoncom.CoInitialize()
from pyad import pyad, aduser
import pyad.adquery
q = pyad.adquery.ADQuery()
q.execute_query(
attributes = ["displayName", "manager", "description", "telephoneNumber", "otherTelephone","mail","title", "department", "info", "userAccountControl"],
where_clause = "objectClass = 'Top'",
base_dn = "OU=Hidden, DC=for, DC=security"
)
for row in q.get_results():
name = row["displayName"]
desc = row["description"]
phone = row["telephoneNumber"]
phone2 = row["otherTelephone"]
mail = row["mail"]
title = row["title"]
department = row["department"]
ext = row["info"]
status = row["userAccountControl"]
man = row["manager"]
#print(name) <-- able to see results
def get_queryset(self):
return redirect('managers')
pythoncom.CoUninitialize()
这是我的模板
{% extends 'base.html' %}
{% block breadcrumb %}
<li class="breadcrumb-item active">Managers</li>
{% endblock %}
{% block content %}
<table class="table mb-4">
<thead class="thead-inverse">
<tr>
<th>Name</th>
<th>Position</th>
<th>Phone</th>
<th>Extension</th>
<th>Email</th>
</tr>
</thead>
<tbody>
{% for row in rows %}
<tr>
<td>{{ row.name }}</td>
<td>{{ row.title }}</td>
<td>{{ row.phone }}{% if row.phone2 != '' %}<br>{{ row.phone2 }}{% endif %}</td>
<td>{{ row.ext }}</td>
<td><a href="mailto:{{ row.mail }}">{{ row.mail }}</a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
我在模板上看不到任何数据。我错过了什么,还是做错了什么?任何帮助都感激不尽。谢谢!