在我的项目中,我有 2 个模型文章和报价。用户每次点击主页上的一个按钮,就会将相关的引用添加到用户的文章中。
Article.models 如下所示:
class Article(models.Model):
user = models.OneToOneField(User, null=True)
quote = models.ManyToManyField(Quote, blank=True, null=True)
def __unicode__(self):
return self.user.username
这是view.py
def add_quote(request, id):
u = User.objects.get(username=request.user)
a = Article.objects.get(user=u)
q = Quote.objects.get(id=id)
a.quote.add(q)
a.save()
return HttpResponseRedirect(reverse("home"))
主页.html:
{% for quote in quotes %}
<p>{{ quote.description }}</p>
<p><a class="btn btn-primary" href="{{ quote.get_absolute_url }}"
role="button" data-container="body" data-toggle="popover"
data-placement="top" data-content="added">collect »</a></p>
它确实有效。但是,它也会重新加载主页。因此,当我向下滚动并单击按钮时,页面会返回顶部并且不会停留在我单击的位置。
我做了一些研究,发现 dajax 可能会有所帮助,但只是不知道如何用它或其他有效方式解决我的问题?