Django не находит пользователей в pyad - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь отобразить всех пользователей в таблице.когда я запускаю следующее в оболочке, оно возвращает именно то, что я хочу, но когда я делаю это в django, ничего не отображается.

Это команда, которая работает в оболочке:

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)

Это URL-адрес:

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 %}

IЯ не могу видеть какие-либо данные в шаблоне.Я что-то упускаю или делаю что-то не так?Любая помощь будет высоко ценится.Спасибо!

...