У меня есть встроенная веб-страница в django, которая показывает все строки таблицы sqlite в картах начальной загрузки.В основном каждая карта представляет собой строку таблицы.Я хочу дать пользователю возможность фильтровать эти карты, поэтому на странице вместо отображения всех объектов в таблице базы данных должны отображаться только объекты, относящиеся к пользователю.Результат поиска может отображаться по другому URL, он не имеет значения.
Я могу создать HTML-форму для получения информации от пользователя и написать функцию Python, которая выполняет поиск в базе данных и распечатывает определенные строки на основедля входного ключевого слова, но я не могу заставить эти вещи работать вместе.
Любая подсказка или фрагмент кода будет большой помощью, к сожалению, я ничего не знаю о php, так что если есть способ сделать это без негобыло бы замечательно.Спасибо всем.
# this is my view function, it shows all the objects in the table at a #specific URL
def index_u(request):
universities = University.objects.all()
return render(request, 'index_uni.html', {'universities': universities})
/* this is index_uni.html */
{% block content %}
<div class="row">
{% for university in universities %}
<div class="col">
<div class="card" style="width: 18rem;">
<img src="{{ university.image_url}}" class="card-img-top">
<div class="card-body">
<h5 class="card-title">{{university.name}}</h5>
<p class="card-text">{{university.region}}</p>
<a href="{{university.page_url}}" target="_blank">Go</a>
</div>
</div>
</div>
{% endfor %}
</div>
{% endblock %}
#this function takes an input and diplays specific rows
#I don't know how make this works in the html page, it works fine in terminal
def search_data():
region_choice = input("insert region here: ")
command = "SELECT name FROM university_university WHERE region = ?;"
c.execute(command, [region_choice])
for row in c:
print(row)
#here my model
class University(models.Model):
name = models.CharField(max_length=58, default=True)
city = models.CharField(max_length=58, default=True)
region = models.CharField(max_length=58, default=True)
country = models.CharField(max_length=58, default=True)
number_of_students = models.IntegerField(default=True)
image_url = models.CharField(max_length=2083, default=True)
is_public = models.BooleanField(default=True)
ranking = models.IntegerField(default=True)
colleges = models.BooleanField(default=True)
scholarship = models.BooleanField(default=True)
uni_canteen = models.BooleanField(default=True)
page_url = models.CharField(max_length=2083, default=True)