Django делает поле необязательным, которое проверяется целостностью

См. приведенный ниже пример. Это поможет устранить ваше сомнение

Example                  Result

parseInt("4")            4
parseInt("5aaa")         5
parseInt("4.33333")      4
parseInt("aaa");         NaN (means "Not a Number")

с помощью функции parseint. Оно будет давать только op целого числа, а не строку

0
задан Venom 15 January 2019 в 19:52
поделиться

1 ответ

Поскольку вы хотите перенаправить на представление login, если параметр pubpgp не указан или если он указан и указывает на правильный алгоритм, то для этого нужно просто внести небольшую поправку в условное выражение: [113 ]

def signup(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            pubpgp = request.POST.get('pubpgp')
            # Allow redirect if pubpgp is empty or not empty but correct algorithm
            if not pubpgp or PGPKey.from_blob(pubpgp.rstrip("\r\n"))[0].key_algorithm == PubKeyAlgorithm.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 based PGP keys are allowed.")
        else:
            return render(request, 'signup.html', {'form': form})
    else:
        form = RegistrationForm()
        args = {'form': form}
        return render(request, 'signup.html', args)
0
ответ дан Will Keeling 15 January 2019 в 19:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: