Есть ли способ зашифровать пароль при создании неадминского пользователя в Django Admin Panel?
Я новичок в django и делаю приложение просто для практики, поэтому я хотел попробовать создать различных пользователей, так что у меня есть пользователь admin и другие 2. Я не буду делать страницу создания пользователя, так как я хочу иметь возможность создавать пользователей только в панели администратора, так что у меня есть:
#models.py
from django.db import models
# Create your models here.
class UserType1(models.Model):
Username = models.CharField(max_length=50, null=False)
Password = models.CharField(max_length=50, null=False)
class Meta:
ordering = ('Username',)
def __str__(self):
return self.Username
class NormalUser(models.Model):
Username = models.CharField(max_length=50, null=False)
Password = models.CharField(max_length=50, null=False)
class Meta:
ordering = ('Username',)
def __str__(self):
return self.Username
А чтобы показать его в панели администратора:
#admin.py
from django.contrib import admin
from . import models
# Register your models here.
@admin.register(models.UserType1)
class UserType1Admin(admin.ModelAdmin):
list_display = ('Username','Password')
search_fields = ("Username", )
@admin.register(models.NormalUser)
class NormalUserAdmin(admin.ModelAdmin):
list_display = ('Username','Password')
search_fields = ("Username", )
Например, создание NormalUser, как вы можете видеть, вот как он сохраняется, пароль это просто простой текст:
Показывает обычного пользователя
В будущем у них будут разные поля, но пока я хочу знать, есть ли способ сохранить пароль в зашифрованном виде в базе данных, как это сделано с пользователем admin. Есть ли простой способ сохранить пароль в зашифрованном виде?
Спасибо.
PD: Если что-то непонятно, не стесняйтесь спрашивать меня о чем угодно.
Зацените это!
https://docs.djangoproject.com/en/3.2/topics/auth/passwords/
Управление паролями в Django
Управление паролями - это то, что, как правило, не следует изобретать без необходимости, и Django стремится предоставить безопасный и гибкий набор инструментов для управления паролями пользователей. Этот документ описывает, как Django хранит пароль, как можно настроить хэширование хранилища и некоторые утилиты для работы с хэшированными паролями.
Django предоставляет гибкую систему хранения паролей и по умолчанию использует PBKDF2.