Просто запомните, что бы вы ни делали с Django, это все еще Python, поэтому просто то, что Django не имеет / не делает это таким образом, не означает, что вы не можете. Кроме того, с другой точки зрения, ничто не мешает вам использовать биты инфраструктуры Django из-за пределов традиционного приложения Django.
Мне не особо нравится интерфейс администратора Django, хотя я использую Form
и ModelForm
вне его. Я фактически внедрил свою собственную систему аутентификации - все, что вам нужно, это функции, которые позволяют вам входить / выходить и т. Д., И интерфейс с этими данными. Это (пользователи / группы и т. Д.) Не обязательно должно быть представлено как модель Django, хотя я сделал это для простоты. Ничто не мешает вам подключиться к другому ORM или написать свой собственный для acegi. В качестве альтернативы, если написать собственный слой достаточно просто, сделайте это.
Я бы порекомендовал подключиться к контекстным процессорам для Django и промежуточного программного обеспечения Django, а также к тому, чтобы библиотека работали просто потому, что это заставит повторно использовать бриз и будет действовать аналогично существующей инфраструктуре аутентификации. Вот пример обработчика контекста, который я использую, чтобы позволить мне писать {{ username }}
в моем шаблоне без необходимости извлекать его из каждого объекта запроса в каждом методе представления:
def Authentication(request):
if AuthenticationCheck(sess=request.session, timeofaction=datetime.datetime.now(), ipaddress=request.META['REMOTE_ADDR']) == True:
return dict(username=request.session["username"])
else:
return dict(username='')
Также, Документация по промежуточному программному обеспечению Django