Визуализация данных в django - PullRequest
0 голосов
/ 18 февраля 2020

У каждого пользователя есть определенные отпуска, которые он добавляет. Я хочу сделать его отпуск, а не чей-либо еще. Что мне делать?

В представлении ниже показаны все отпуска, но я хочу показать только отпуска конкретного пользователя.

def all_vacations(request):
    vacations = Vacation.objects.all()
    return render(request, 'homePage.html', {'vacations': vacations})

1 Ответ

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

Вы должны сделать что-то вроде этого:

  • Ваши URL:
path('users', views.users_view, name='users')
path('vacation/<int:pk>/', views.user_vacations, name='user_vacation') 
  • Создать представление:
# You have to create a view to list users
# List your users
def users_view(request):
    users = User.objects.all()
    return render(request, 'your_template.html', {'users': users})
  • Создайте шаблон для списка пользователей:
<!--In your template:-->

{% for user in users %}
<ul>
    <li><a href="{% url 'user_vacation' user.id %}">{{ user}}</a></li>
<ul>
{% empty %}
    <!-- Do something -->
{% endfor %}
  • Наконец вы вернете то, что хотите:
def user_vacations(request, id):
    vacations = Vacation.objects.get(author__id=id)
    return render(request, 'homepage.html', {'vacations': vacations})

...