#python #django #django-forms
#python #django #django-формы
Вопрос:
У меня есть простая модель (человек с именем и фамилией). Я создал администратора для этой модели, где я могу добавлять / редактировать / удалять объекты.
Мои вопросы:
-
Можно ли использовать Django forms для создания простой формы (без CSS и т.д.) Для поиска объектов в БД? (Я выбираю поле и значение для поиска) Или формы Django используются только для запросов post?
-
Как я могу добавить функциональность AJAX в форму поиска, чтобы моя страница оставалась без перезагрузки?
Честно говоря, я гуглил два часа и не нашел никакой информации.
Ответ №1:
Самый простой «поиск», который вы можете использовать, — это использовать представление для возврата ответа json. Например:
из django.http импортируйте JsonResponse
def SearchView(View):
def get(self, request, *args, **kwargs):
search_query = request.GET.get('q', '')
search_results = Game.objects.filter(title__icontains=search_query)
return JsonResponse(search_results)
и тогда ваш JS был бы чем-то вроде этого:
$.ajax({
type: "GET",
url: YOUR_ENDPOINT,
data : YOUR_GET_PARAMETERS,
success: function (response) {
// success callback
},
error: function(response) {
// error handling
}
});
Примечание: Вы также можете использовать поиск по полю __search__ для получения наилучших результатов поиска.
Комментарии:
1. я голосую за то, чтобы закрыть вопросы, в которых нас просят порекомендовать или найти книгу, инструмент, библиотеку программного обеспечения, учебное пособие или другой сторонний ресурс, не по теме для Stack Overflow, поскольку они, как правило, привлекают самоуверенные ответы и спам. Вместо этого опишите проблему и то, что было сделано до сих пор для ее решения.