我想允许用户使用模板加入列出的组之一。所以我在这里发现了 2 个问题:
- "加入"按钮作为具有多对多字段的表单。
-
将 python 函数作为模板中的按钮操作运行。如果可能的话,我想运行这样的东西:
group.members.add(request.user)
并希望刷新页面。
models.py:
class Group(models.Model):
name = models.CharField(max_length=500)
creator = models.ForeignKey(User)
members = models.ManyToManyField(User, blank=True, related_name='member')
模板.html:
{% for group in groups %}
<p>{{ group.name }} <button type="submit" action="">Join</button></p>
<hr>
{% endfor %}
多对多字段没有什么特别之处。您想在任何地方执行的任何事情始终需要视图。您需要一个新视图,其中包含从按钮调用的新 URL,在该视图中,您可以获取对象并根据需要对其进行修改。