Я новичок django и создаю простое приложение, в котором пользователи могут искать игроков из модели, а затем получать возможность добавить этих игроков в качестве своих любимых игроков, которая хранится в другой модели. Я создал представление поиска, как показано ниже:
```def search(request):
try:
q = request.GET.get('q')
except:
q = None
if q:
Players = Player.objects.filter(First_Name__icontains=q)
context = {'query': q,
'Players': Players}
template = 'home/results.html'
else:
template = 'home/index.html'
context = {}
return render(request,template,context)```
Представление поиска показывает перенаправления пользователей на home / results. html где отображаются результаты. Я хотел бы, чтобы пользователи могли нажимать кнопку рядом с каждым из результатов и добавлять этого игрока в базу данных избранного. Я попытался использовать Django ModelForms в forms.py следующим образом:
from django import forms
from .models import favoritePlayer
class favoritePlayerForm(forms.ModelForm):
class Meta:
model = favoritePlayer
fields = ['First_Name',]
Вот функция просмотра, которую я написал, чтобы добавить игрока в базу данных избранного:
def favorite_create_view (request):
form = favoritePlayerForm(request.POST or None)
if form.is_valid():
form.save()
context = {'form':form}
template = 'home/results.html'
return render(request,template,context)
Наконец, ниже находится файл results.html
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Searched for {{ query }}</h1>
{% for Player in Players %}
<form method="POST"> {% csrf_token %}
<a href = "/{{ Player.id }}/">{{ Player.First_Name}}</a>
{{ form.as_p }}
<input type="submit" value="Save" />
</form>
{% endfor %}
</body>
</html>
Я не могу заставить это работать. Я бы предпочел не использовать AJAX или Javascript. Любая помощь будет оценена.