Как использовать атрибут : save() в файле views.py?

** Когда я использую атрибут save() в views.py, страница получает эту ошибку : NOT NULL constraint failed: pages_login.username

def about(request):
    username = request.POST.get("username")
    password = request.POST.get("password")
    data = Login(username=username,password=password)
    data.save()
    return render(request, 'pages/about.html')

**

Login(username=username,password=password)

Этот код автоматически вставит данные в базу данных. Пожалуйста, проверьте вашу базу данных. Или же вы можете сохранить следующим образом

data = Login()
data.username = username
data.password = password
data.save()

Всегда сохраняйте пароль в хэшированном виде для безопасности

это представление входа в систему? Нет необходимости сохранять, вам просто нужно перенаправить пользователя после аутентификации

Я изменил код, не получив ошибки, и проблема была решена. вместо data.save() я поставил :

if request.POST.get("username") :
    data.save()

Но я все еще не знаю, что происходит, знаете ли вы, что происходит в программе?

Попробуйте это:

username = request.POST.get("username")
password = request.POST.get("password")

Login.objects.create(username=username, password=password)

Этот оператор создаст и сохранит объект за один шаг.

Вернуться на верх