Кнопка события jquery показывает правильный ответ, но представление не отображает его правильно в django

Я хочу показать неправильные ошибки входа в систему на jquery click.Мой код работает нормально, кнопка jquery event(click) тоже показывает ответ правильно, но django views не отображает ответ правильно.В ответе в элементе inspect они показывают ошибку, как я отправляю контекст, но изменения не отображаются на экране.

просмотр входа

def logn(req):
    if req.user.is_authenticated:
        return redirect('home')
    else:
        context={
            'error_msg':'blah'
                }
        if req.method == 'POST':
            usrname = req.POST['lusername']
            psswd = req.POST['lpass']
            if len(usrname) == 0 and len(psswd) == 0:
                print('error')
                context={
                    'error_msg':'password?'
                        }
                return render(req,'base.html',context)
            usr = authenticate(req,username=usrname,password=psswd)
            if usr is not None:
                login(req,usr)
                redirect('home')
               

Jquery

$('#lbtn').click(function(){
    let lusername = $('input[name=lusername]').val();   
    let lpass = $('input[name=lpassword]').val();
    $.ajax({
        type: 'POST',
        url: '/login/',
        headers :{
            'X-CSRFToken':  getcsrfToken(),
        },
        data: {
            lusername : lusername,
            lpass : lpass,
        },
        success: (data) => {
            if(data){
                $('input[name=lusername]').val('');
                $('input[name=lpassword]').val(''); 
            }
        },

    })  
})

HTML

<div class='bg'>
          <span><i class='material-icons tiny left cross'>clear</i></span>
          <i class='material-icons tiny right spin'>cached</i>
      {% if error_msg %}<p class='red-text'>{{error_msg}}</p>{%endif%}
      </div>
      <div class='white-text log_title'>
          LOGIN
      </div>
      <div class='white-text log_title1'>
          Please enter your username and password
      </div>
      {% if error_msg %} <p class='red-text'>{{ error_msg }}</p>{% endif %}
      {% csrf_token%}
          <div class="row">
          <div class="input-field col s9">
              <p for="lusername" class='white-text log_user'>Username</p>
              <input name='lusername' type="text" class="validate white-text" id='in1'>
          </div>
      </div>
      <div class="row">
          <div class="input-field col s9">
              <p for="lpassword" class='white-text log_user'>Password</p>
              <input name='lpassword' type="text" class="validate white-text" id='in1'>
          </div>
      </div>
      <div class='center'>
          <button class="btn waves-effect waves-light blue black-text" type="submit" name="action" id='lbtn'>
              Login
          </button>
      </div>
      <div class='topper'>
          <a href='/'>
          Forgot Password ?
          </a>
      </div>
</div>

login modal находится в 'base.html'. Таким образом, я должен отобразить 'base.html' в различных представлениях с различным контекстом.

Во-первых, в третьей строке вашего HTML {%endif%} должно быть {% endif %}

Более того, мне кажется, что это условие не выполняется: if len(usrname) == 0 and len(psswd) == 0:

Проверить длину usrname и psswd в python...

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