2013-11-21 5 views
0

Я работаю на веб-сайте и для входа в систему, я использую индивидуальную модель MyUser, которая является подклассом оригинальной модели User. Теперь, чтобы создать MyUser записи, я используюХранение настроенной модели django auth_user

x = MyUser.objects.create(
    username = #something, 
    password = #something, 
    ... 
) 
x.save() 

и т.д. Теперь, запись MyUser создается. Но когда я иду к моей странице администратора, я вижу, тип пароля, как:

Invalid password format or unknown hashing algorithm. 

И authenticate(username,password) возвращает None, и она работает правильно, только если я иду админ и изменить пароль. Какое оптимальное решение для хранения данных MyUser в базе данных?

ответ

1

Используйте set_password functionality provided by django User

x = MyUser.objects.create(
    username = #something, 
    ... 
) 
x.set_password(#something) 
x.save() 

Теперь set_password бы применить алгоритм хеширования, и сохранить зашифрованный пароль для вас, где, как то, что вы делаете просто установить обычный текстовый пароль, который является проблемой.

+0

Yup .. Это сработало .. Спасибо .. –

+0

рад, что это помогло. – karthikr

Смежные вопросы