在我的模板中,我显示用户关注的用户列表。我希望用户能够通过按钮删除他关注的用户之一。
我有一个删除关系的函数remove_relationship。
这是我的 models.py 中的函数:
class UserProfile(models.Model):
(...)
def remove_relationship(self, person):
Relationship.objects.filter(
from_person=self,
to_person=person).delete()
return
我想将此函数传递到我的模板中:
{% for user in following % }
<form method="post">
{% csrf_token %}
<input type="submit" value="delete" onclick="remove_relationship"/>
</form>
{%endfor%}
问题是我无法在模板中传递参数。那么我该如何做才能让每个按钮删除与正确用户的关系呢?
我看到了关于这个主题的另一个问题,它看起来并不能解决我的问题(http://stackoverflow.com/questions/1333189/django-template-system-calling-a-function-inside-a-model )
感谢您的帮助。
看起来您似乎混淆了客户端代码(JavaScript)和服务器端代码(Django)。
要获取提交的相关用户 ID,您可以向表单添加一个额外的隐藏字段:
{% for user in following % }
<form method="post" action="{% url views.remove_relationship %}">
{% csrf_token %}
<input type="hidden" name="user_id" value="{{ user.id }}">
<input type="submit" value="delete" />
</form>
{%endfor%}
然后创建一个remove_relationship
根据您现在可以在其中找到的用户 ID 在服务器端进行删除的视图request.POST['user_id']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)