Django & AJAX для отображения объектов БД после ввода данных пользователем
Я довольно новичок в мире веб-разработки, до сих пор использовал Django.
Я пытался понять, как вернуть данные на страницу после нажатия на кнопку отправки, и вижу, что для этого мне нужно использовать AJAX.
Я создал очень простое приложение, чтобы понять основы AJAX. Однако, погуглив, я не смог найти базовой прямой реализации, так что я вроде как потерялся...
Что я пытаюсь достичь:
У меня есть модель под названием Страна:
class Country(models.Model):
name = models.CharField(primary_key=True, max_length=35)
continent = models.CharField(max_length=10)
capital = models.CharField(max_length=35)
currency = models.CharField(max_length=10)
И суперпростая главная страница, которая просит пользователя вставить название какой-нибудь страны.
Идея состоит в том, чтобы вывести на страницу всю информацию из БД. Таким образом, это будет выглядеть следующим образом: главный снимок страницы
Главная страница HTML body:
<body>
<h2><em>Please type a country name:</em></h2><br><br>
<div class="container">
<form id="get_info" method="post">
{{ form }}
{% csrf_token %}
<input id="submit_button" type="submit" name="submit" value="Get info">
</form>
</div>
</body>
views.py:
from django.shortcuts import render
from country_trivia import forms
def main_page(request):
get_info_form = forms.GetInfo()
return render(request, 'country_trivia/index.html', {'form': get_info_form})
forms.py:
from django import forms
class GetInfo(forms.Form):
country_name = forms.CharField(label="")
Я видел некоторые примеры с использованием форм, но я даже не уверен, нужно ли это, так как я видел некоторые другие примеры, которые рассчитывают на 'onclick' даже слушателей, затем "захватывают" текст в поле поиска и передают его через AJAX...
Как я должен построить свой объект AJAX для этой простой цели, и как я должен его интегрировать?
Нужно ли мне вообще использовать формы? Я ничего не публикую в БД, просто делаю запрос и распечатываю данные...
Спасибо!!!