在Django(社交平台)的项目中工作,用户可以创建组供其他用户加入或离开。你知道吗
这是我的第一个Django项目,我不确定加入和离开组逻辑的实现是否正确。我有一个join按钮,它是a[href]标记:
<a href="{% url 'join' group.id %}" class="btn btn-primary">Join Group</a>
单击它可以将用户添加到组中。以下是模型和视图:
型号.py:
@python_2_unicode_compatible
class Group(models.Model):
title = models.CharField(max_length=255, null=False, unique=True)
description = models.TextField(max_length=2000, null=False)
location = models.CharField(max_length=255, null=False)
date = models.DateTimeField(auto_now_add=True)
creator = models.ForeignKey(User, related_name="creator")
members = models.ManyToManyField(User, through='Membership')
counter = models.IntegerField(blank=False, null=True)
@python_2_unicode_compatible
class Membership(models.Model):
person = models.ForeignKey(User)
group = models.ForeignKey(Group)
date_joined = models.DateField(auto_now_add=True)
视图.py:
@login_required
def group(request, pk):
group = get_object_or_404(Group, pk=pk)
return render(request, 'group/group.html', {'group': group})
@login_required
def join(request, pk):
_group = get_object_or_404(Group, pk=pk)
membership = Membership()
membership.group = _group
membership.person = request.user
membership.save()
return group(request, pk)
用户不会保存到成员资格表。最好的方法是什么?任何帮助都将不胜感激。你知道吗
还尝试了join按钮的查看功能:
@login_required
def join(request, pk):
_group = get_object_or_404(Group, pk=pk)
membership = Membership.objects.create(user=request.user, group=_group)
membership.save()
return group(request, pk)
网址:
urlpatterns = [
url(r'^$', views.groups, name='groups'),
url(r'^all/$', views.all, name='all'),
url(r'^create_group/$', views.CreateGroup.as_view(), name='create_group'),
url(r'^(\d+)/$', views.group, name='group'),
url(r'^(\d+)/$', views.join, name='join'),
]
解决了这个问题。立即使用窗体
加入url为:
相关问题 更多 >
编程相关推荐