Django необязательное поле с проверкой формата - PullRequest
0 голосов
/ 05 января 2019

Я хочу сделать поле ключа необязательным при регистрации. но я не знаю, почему я не могу использовать == Нет здесь. Форма всегда отвечает, что ожидала данных для ключевого поля. как пропустить эту проверку, если ключ не был предоставлен? Проверять его следует только в том случае, если пользователь предоставил ключ.

def signup(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        key = Key.from_blob(request.POST['key'].rstrip("\r\n"))[0]
        if form.is_valid():
            if key == None:
                form.save()
                messages.add_message(request, messages.INFO, "Thanks for you Registration, you are now able to login.")
                return redirect(reverse('login'))
            if key.key_algorithm == KeyAlgorithm.RSAEncryptOrSign:
                form.save()
                messages.add_message(request, messages.INFO, "Thanks for you Registration, you are now able to login.")
                return redirect(reverse('login'))
            else:
                messages.add_message(request, messages.INFO, "Only RSA keys are allowed.")
        else:
            return render(request, 'signup.html', {'form': form})
    else:
        form = RegistrationForm()
        args = {'form': form}
        return render(request, 'signup.html', args)
...