簡體   English   中英

如何通過單擊按鈕向用戶提供將搜索結果添加到 Django 中的數據庫 model 的選項?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM