Django在pyad中找不到用户

时间:2018-12-04 21:40:16

标签: django python-3.x pyad

我正在尝试在表格中显示所有用户。当我在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 %}

我在模板上看不到任何数据。我错过了什么,还是做错了什么?任何帮助都感激不尽。谢谢!

0 个答案:

没有答案