Задача 7
Задание:
Напишите функцию-представление, для приложения main_app, с именем sort_users, которая будет принимать параметры field и dir(поле и направление сортировки), и возвращать отсортированные записи из модели User.
Значение параметра field может быть только 'id', 'name', 'age'. Если параметр field не передан в представление или его значение иное, тогда необходимо выполнить сортировку по полю id.
Значение параметра dir может быть только 'up'(сортировать по возрастанию) или 'dn'(сортировать по убыванию). Если параметр dir не передан в представление или его значение иное, тогда необходимо выполнить сортировку по возрастанию.
В шаблон sort_users.html необходимо передать переменные user_data, sort_field, sort_dir:
В переменной user_data передаются отсортированные записи.
В переменной sort_field передаётся строка 'id' или 'имени' или 'возрасту', в зависимости от значения параметра field.
В переменной sort_dir передаётся строка 'возрастание' или 'убывание', в зависимости от значения параметра dir.
P.S. На экран ничего не нужно выводить, модель User необходимо импортировать из приложения main_app.
Код модели User:
class User(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField(default=18)
phone = models.CharField(max_length=20)
email = models.CharField(max_length=50)
Код шаблона sort_users.html:
<h2>Список пользователей: сортировка по {{ sort_field }}, {{ sort_dir }}.</h2>
{% if user_data %}
<p>Id, Имя, Возраст, Телефон, E-Mail</p>
{% for user in user_data %}
<p>{{ user.pk }}, {{ user.name }}, {{ user.age }}, {{ user.phone }}, {{ user.email }}</p>
{% endfor %}
{% else %}
<p>Записей нет</p>
{% endif %}Напишите программу. Тестируется через stdin → stdout
# put your python code here