【问题标题】:Member is not adding in Group after Accept Request接受请求后成员未添加到组中
【发布时间】:2021-06-17 04:24:35
【问题描述】:

我正在构建一个简单的Blog Group App,用户可以在其中创建一个群组并在其中发布博客,并且我构建了join group by Request 的功能,其中用户必须发送加入请求,然后创建者会批准它,但是 当我点击 accept_it 时,成员不会添加到组中。

models.py

class Group(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE)
    title = models.ForeignKey(max_length=30,default='')
    members = models.ManyToManyField(User,related_name='group_member',blank=True)

class GroupRequest(models.Model):
    group = models.ForeignKey(Group,on_delete=models.CASCADE)
    request_sender = models.ForeignKey(User, on_delete=models.CASCADE)

views.py


def accept_it(request,pk):
    group_request = get_object_or_404(Group,pk=pk)
    sent_request = get_object_or_404(GroupRequest,pk=pk)

    group_request.members.add(sent_request.request_sender)
    return redirect('home')

def DetailGroup(request,pk):
    data = Group.objects.get(pk=pk)

    context = {'data':data}
    return render(request,'Group_detail.html', context)

Group_detail.html


{% for requests in group_requests %}

{{ requests.request_sender }}<a href="{% url 'accept_it' requests.id %}">Accept it</a>


{% endfor %}

urls.py

    path('accept_it/<int:pk>/',views.accept_it,name='accept_it'),

当我点击接受它然后它重定向到另一个组但不是在组中添加成员。

当我尝试&lt;a href="{% url 'accept_it' requests.request_sender.id %}"&gt;Accept it&lt;/a&gt; 然后它说:-

找不到页面 (404)

我不知道,我做错了什么。

任何帮助将不胜感激。

提前致谢。

【问题讨论】:

  • 我需要查看 urls.py
  • 更新问题并添加urls.py
  • 很抱歉打扰您,我需要查看呈现 group_detail.html 的视图
  • 更新问题
  • 您的上下文等于数据,因此模板应该等于:对于数据中的请求而不是组请求

标签: python html django django-models django-views


【解决方案1】:

首先,您需要确定pkaccept_it(request,pk) 中的含义。假设您决定将其用于GroupRequest,那么:

def accept_it(request,pk):
    group_request = get_object_or_404(GroupRequest, pk=pk)
    group_request.group.members.add(group_request.request_sender)
    return redirect('home')

【讨论】:

  • 它是说找不到页面(404)
  • 您还需要修复DetailGroup 以在模板上下文中使用GroupRequest 而不是Group
  • 但它只会呈现GroupRequest 但我将来会在帖子上做一些工作
  • 然后将发帖页面和接受群请求页面分开。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-04
  • 1970-01-01
  • 2018-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多