Форма поиска по БД в шаблоне - Python

Узнай цену своей работы

Формулировка задачи:

Коллеги, здравствуйте! помогите разобраться, не могу написать вьюшку и шаблон, чтобы данные из БД отображались в шаблоне. кусок html с формой и местом для вывода информации (используется тот же шаблон search_content.html):
Листинг программы
  1. <div class='row' align="left">
  2. <div class='col-md-6'>
  3. <ul>
  4. <li>Введите ИНН: </li>
  5. </ul>
  6. </div>
  7. <div class='col-md-6'>
  8. <ul>
  9. <li>
  10. <form action="{% url 'search_content' %}" method="post">
  11. {% csrf_token %}
  12. {{ form.as_ul }}
  13. <label for="search_inn">Input INN: </label>
  14. <input id="search_inn" type="text" name="search_inn" value="{{ search_data_inn }}">
  15. <input type="submit" value="OK">
  16. </form>
  17. </li>
  18. </ul>
  19. </div>
  20. </div>
  21. <div class='row' align="left">
  22. <div class='col-md-6'>
  23. <ul>
  24. <li>Введите учреждение: </li>
  25. </ul>
  26. </div>
  27. <div class='col-md-6'>
  28. <ul>
  29. {% for i in data_inn %}
  30. <li>{{ i.id }}</li>
  31. {% endfor %}
  32. </ul>
  33. </div>
  34. </div>
вьюшка:
Листинг программы
  1. def search_content(request):
  2. data_inn = Inn_uchrej.objects.filter(inn = ХХХХ)
  3. return render(request, 'search_content.html', {'data_inn': data_inn})
Как вместо ХХХХ указать имя переменной из формы поиска? Если во вьюшке вместо ХХХХ указать явно ИНН, тогда в шаблоне отображается нужная инфа из БД. В документации по django еще говориться про forms.py, но не могу догнать, как это задействовать. Спасибо.

Решение задачи: «Форма поиска по БД в шаблоне»

textual
Листинг программы
  1. Inn_uchrej.objects.filter(inn = request.POST['search_inn'])

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут