Вы можете настроить отображение формы, переопределив / отредактировав templates / registration / login.html , как показано ниже.
Это, например, только вы можете изменять стили и форматирование CSS по своему усмотрению.
Login
Вы также можете зацикливать поля формы
Login
Вы также можете проверить дополнительные параметры рендеринга формы из здесь
Ни один из классов Наборов не сделает то, в чем Вы нуждаетесь. Необходимо будет записать собственное!
P.S. Необходимо будет также решить, будет ли класс ориентирован на многопотоковое исполнение или нет.
P.P.S. ConcurrentHashMap близок, но не точно то же. Если можно разделить на подклассы или перенести его или перенести объекты, которые вводят карту, таким образом, что Вы полагаетесь только на тот класс для потокобезопасности, у Вас будет эффективная и ориентированная на многопотоковое исполнение реализация.
Можно моделировать это поведение с HashSet. Если объекты, которые Вы добавляете к набору, имеют поле, которое можно использовать в качестве уникального идентификатора, просто возвратить то поле хэш-кодом объекта () метод (или используйте расчетное значение хэш-кода, так или иначе должен работать).
HashSet не бросит ошибку, когда Вы добавите дублирующуюся запись, он просто возвращает false. Вы могли перенестись (или расшириться), HashSet так, чтобы Ваш добавлять метод возвратил уникальный идентификатор, который Вы хотите как возвращаемое значение.
Я думал, что Вы могли сделать это с ArrayList, с помощью текущего местоположения в массиве как "идентификатор", но это не препятствует тому, чтобы Вы делали вставку в существующем местоположении, плюс то, когда Вы вставляете в том местоположении, это переместит все вверх. Но Вы могли бы основывать свой собственный класс на ArrayList, возвращая текущее значение .size () после .add.
Существует ли причина, почему хэш-код объекта не мог использоваться в качестве "числового идентификатора"?
В противном случае затем все, что необходимо было бы сделать, является переносом вызов в ConcurrentHashMap, возвратите хэш-код объекта и используйте putIfAbsent (K ключ, V значений) метод, чтобы гарантировать, чтобы Вы не добавляли дубликаты.
putIfAbsent также возвращает существующее значение, таким образом, Вы могли заставить его хэш-код возвращаться к Вашему пользователю.
Посмотрите ConcurrentHashMap