alexkomp
@alexkomp
Простота — залог надежности.

Как сделать, чтобы форму видел только пользователь из определённой группы на Django?

Как сделать, чтобы форму видел только пользователь из определённой группы на Django?

вот шаблон формы на сайте:
<!doctype  html>
<html  lang="en">
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
<link  rel="stylesheet"  href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"  integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"  crossorigin="anonymous">
<title>Создать мерчь</title>
{% load staticfiles %}
<link rel="stylesheet" href="/static/login.css" type="text/css"/>
</head>
<body>

  <div  style='' class="container">
    <div  class="row justify-content-center">
      <div id='block'>
      <h1  class="text-center">Создать мерчь</h1>

{% block content %}
<div class="card">
<div class="card-body">
<h4 class="card-title"></h4>
  <form action='' method="post" enctype="multipart/form-data">
    {% csrf_token %}
      {% for field in form %}
      <p>
	 
	  {{ field.label_tag }}<br>
        {{ field }}
        {% if field.help_text %}
          <small style="display: none">{{ field.help_text }}</small>
        {% endif %}
        {% for error in field.errors %}
          <p style="color: red">{{ error }}</p>
        {% endfor %}
      </p>
      {% endfor %}
	<button type="submit" class="btn btn-primary btn-block">Создать мерчь</button>
  </form>
  </div>
</div>
{% endblock %}
</div>
    </div>
  </div>
</body>
</html>
  • Вопрос задан
  • 200 просмотров
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
  1. Проверять членство в представлении и передавать форму в контекст шаблона только для тех пользователей, которые в нужную группу входят.
  2. Создать permission, выдать его группе и проверять в шаблоне его наличие у текущего пользователя.
  3. Написать фильтр для проверки членства.
  4. Добавить в модель пользователя метод проверяющий членство.
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Denioo
Добавить группы, присвоить их пользователям, и добавить проверку на членство пользователя в группе и если он в группе то показать таблицу, иначе выдать ошибку. Так вроде правильно будет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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