我有一个视图(views.loaditems),它运行一些算法并将项目传递给加载项目的模板(product.html),并且对于每个项目,我都有一个“add_to_shortlist”链接。单击此链接后,该项目将添加到用户的候选清单中(我有一个功能)。我希望在点击时,页面不会重新加载并且有它的项目,而只是将该项目添加到用户的候选清单中。另外,我应该在哪里定义这个候选名单功能?
我是 Django 的新手,任何帮助将不胜感激。谢谢。
更新:这是我的代码:
视图.py
def loaditems(request):
#some code
ourdeals = SDeals.objects.filter(**{agestring3:0})
sorteddeals = ourdeals.order_by('-total_score')
user = request.user
context = {'deals': sorteddeals, 'sl_products':sl_products, 'user':user,}
template='index.html'
return render_to_response(template, context, context_instance=RequestContext(request))
def usersl(request, id, id2):
userslt = User_Shortlist.objects.filter(id__iexact=id)
products = SDeals.objects.filter(id__iexact=id2)
product = products[0]
if userslt:
userslt[0].sdeals.add(product)
sl = userslt[0].sdeals.all()
return render_to_response('slnew.html', {'sl':sl}, context_instance=RequestContext(request))
在我的 index.html 中,我有:
<div class="slist"><a href="/usersl/{{user.id}}/{{ deal.id }}"></a></div>
在 urls.py 中将我带到views.usersl:
url(r'^usersl/(?P<id>\d+)/(?P<id2>\d+)/$', views.usersl),
我不想去 slnew.html,而是在 index.html 上而不重新加载它,然后单击“列表”,只需运行该功能以添加到候选名单。