Очистка данных из request.post Логин с представлением на основе функций - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь получить модальное всплывающее окно для входа в систему, но в итоге мне пришлось изменить представление формы класса на html-форму и представление на основе функций, чтобы оно работало на каждой странице. Теперь я застрял в том, как очистить данные, которые я получаю от логина (адрес электронной почты, пароль), так как я не могу использовать cleaned_data ().

Я надеялся использовать form.valid (), но с HTML-формой я не уверен, как на него ссылаться.

вид:

def login2(request):
    if request.method == 'POST':
        email= str(request.POST['u'])
        password = str(request.POST['p'])
        user = authenticate(username=email, password=password)
        if user is not None:
            auth_login(request=request, user=user)
            return HttpResponseRedirect(reverse('home'))
        else:
            messages.error(request, "You have entered an invalid username or password")
        return redirect("home")

Форма:

<div class="modal fade" id="login-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header" align="center">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
                    </button>
                </div>

                <div id="div-forms">
                    <form id="login-form" action="{% url 'login2' %}" method="post" enctype="multipart/form-data">
                        {% csrf_token %}
                        <div class="modal-body">
                            <div id="div-login-msg" style="padding-bottom: 10px"><div id="icon-login-msg" class="glyphicon glyphicon-chevron-right"></div>
                                <span id="text-login-msg">Please enter your email and password.</span>
                            </div>
                            <div style="padding-bottom: 20px">
                            <input id="login_username" name = 'u' class="form-control" type="text" placeholder="Email" required>
                            </div>
                            <input id="login_password" name = 'p' class="form-control" type="password" placeholder="Password" required>

                        </div>
                        <div class="modal-footer">
                            <div class="container" align="center">
                                <button style="width: auto" type="submit" class="btn btn-primary btn-lg btn-block">Login</button>
                            </div>
                        </div>
                    </form>
                </div>    
            </div>
        </div>
</div>

Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...