Есть ли способ встроить мою django форму входа в мою базу. html шаблон? - PullRequest
0 голосов
/ 18 апреля 2020

Я в настоящее время создаю django школьную систему и столкнулся с дилеммой. Хотя я успешно создал функционирующую систему входа в систему, все учебники, которые я видел, содержат отдельную страницу для формы входа. Учитывая, что мой сайт имеет доступ только для входа в систему, у меня есть шаблон if на базе html, который будет отображать контент в зависимости от того, вошел ли пользователь в систему или нет. Он показывает правильное содержимое, если пользователь вошел в систему, однако я не знаю, как встроить мою форму входа в базу. html, поэтому я могу вставить ее в оператор if / else. Есть ли простой способ сделать это? Я поделюсь своим кодом, если это необходимо.

Текущая база. html файл

  <body>
  {% if user.is_authenticated %}
    THIS CONTENT IS CORRECTLY SHOWING
  {% else %}
   THIS IS MEANT TO BE LOGIN FORM
   <div class="container">
       <form method="post" action='users/login'></form>
       {% csrf_token %}
       <div class="row justify-content-center">
       <div id="login-box" >
       <div class="login-text mb-2" >Login for Access</div>
       {{ form|crispy }}
        <button type="submit" class="btn btn-primary mt-2 mb-2">Login</button>
         <br>  <a href="#" data-toggle="tooltip" data-placement="bottom" title=" 
          Please contact your IT Administrator at college for information on how 
          to reset your password">Forgot Password?</a>
        </form>
        </div>
        </div>
   </div>
{% endif %}

  </body>
</html>

Ниже показан мой код.

https://i.stack.imgur.com/jUayI.png

Ответы [ 2 ]

0 голосов
/ 18 апреля 2020

Заменить user.is_athenticated на request.user.is_authenticated

0 голосов
/ 18 апреля 2020

в шаблонах вы можете различить guish представление следующим образом для разделения представлений

{% if not request.user.is_authenticated %}
SHOW THE CONTENT FOR NOT LOGGED IN USERS
{% else %}
SHOW THE CONTENT FOR LOGGED IN USERS
{% endif %}

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

 <form action="{% url 'login' %}" method="POST">
            {% csrf_token %}

  <input type="text" name="username">
  <input type="password" name="password">
  <input type="submit" value="Login">
  </form>
...