[英]How can I provide users option to add search results, with click of button, to database model in Django?
我是 django 初學者,正在創建一個簡單的應用程序,用戶可以在其中從 model 搜索球員,然后可以選擇將這些球員添加為他們最喜歡的球員,該球員存儲在不同的 Z20F35E630DAF44DBFA4C3F68F5399D8ZC 中。 我創建了一個搜索視圖,如下所示:
```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 顯示結果的位置。 我希望用戶能夠單擊每個結果旁邊的按鈕並將該播放器添加到收藏夾數據庫。 我嘗試在 forms.py 中使用 Django ModelForms,如下所示:
from django import forms
from .models import favoritePlayer
class favoritePlayerForm(forms.ModelForm):
class Meta:
model = favoritePlayer
fields = ['First_Name',]
以下是我寫的將播放器添加到收藏夾數據庫中的視圖 function:
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。 任何幫助,將不勝感激。
def search(request):
query = request.GET.get('q', None)
user = None #if no
if request.user.is_authenticated:
user = request.user
context = {"query": query}
if query is not None:
Player.objects.create(user=user, query=query)
Players = Player.objects.search(query=query)
context['Players '] = Players
return render(request, 'home/index.html',context)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.