не удалось получить ключ и значения из form.errors - PullRequest
0 голосов
/ 29 марта 2019

Я хочу получить ошибки в текстовом формате и передать ключ, словарь ошибок в форму, но он показывает, что form.errors не повторяется

def signup(request):
forms={}
if request.method == 'POST':
    form = SignUpForm(request.POST)
    if form.is_valid():
        form.save()
        username = form.cleaned_data.get('username')
        raw_password = form.cleaned_data.get('password1')
        user = authenticate(username=username, password=raw_password)
        login(request, user)
        return redirect('/')
    else:
        if form.errors:
            for key,value in form.errors.items:
                forms[key]=BeautifulSoup(value,'html.parser').get_text() 
else:
    form = SignUpForm()
return render(request, 'signup.html',{'forms':forms})

и в шаблоне:

<script>
{% for key,value in forms.items %} 
    $(document).ready(function(){
        $('input[name={{key}}]').parent().addClass("alert-validate");
        $('input[name={{key}}]').parent().attr("data-validate", "{{value}}");
    });
    {% endfor %}
<script>

выдает ошибку при

for key,value in form.errors.items: 

1 Ответ

0 голосов
/ 30 марта 2019

должно быть form.errors.items(), а не form.errors.items

...
        if form.errors:
            for key,value in form.errors.items():
                forms[key]=BeautifulSoup(value,'html.parser').get_text()
...
...