Django 3. Форма поиска и обработки результатов на одной странице
Изучаю Python и Django, столкнулся с несколькими проблемами при написании страницы получения информации о пользователе из Active Directory. Логика приложения следующая: по поисковому запросу возвращается список словарей [{"sAMAccountName": sAMAccountName, "DisplayName": displayName},...] по каждому пользователю. Если список состоит из 1-го словаря и ключ sAMAccountName не "User Not Found" то сразу запрашивается и выводится информация по остальным атрибутам пользователя, если в списке более одного словаря то выводится таблица пользователей в виде ссылок для запроса детальной информации.
forms.py
from django import forms
class SearchForm(forms.Form):
search_request = forms.CharField(label='Object', max_length=100)
class UserResultForm(forms.Form):
sAMAccountName = forms.CharField(label='Login:')
employeeID = forms.CharField(label='Pers.Number:')
displayName = forms.CharField(label='Display Name:')
views.py
from django.shortcuts import render
from . import forms
from backend.ldap.ldap_backend import ldap_user_search
def LDAP(request):
search_form = forms.SearchForm()
user_result_form = forms.UserResultForm()
context = {'title' : 'LDAP Search',
'search_form' : search_form,
'user_result_form': user_result_form}
if request.method == 'POST':
search_form = forms.SearchForm(request.POST)
if search_form.is_valid():
users_list = ldap_user_search(search_form.cleaned_data['search_request'])
if users_list:
context.update({"users_list": users_list})
if len(users_list) == 1 and users_list[0]["sAMAccountName"] != "User Not Found":
user_detail = ldap_user_detail(users_list[0]["sAMAccountName"])
context.update({"user_detail": user_detail})
return render(request, 'app_ldap/ldap.html', context)
Вопрос первый как реализовать запрос атрибутов по ссылке? Как правильно реализовать работу такого приложения?