views.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:drapo 作者: andgein 项目源码 文件源码
def edit(request, team_id):
    team = get_object_or_404(models.Team, pk=team_id)

    # Only staff and team's captain can edit team
    if not request.user.is_staff and team.captain != request.user:
        return HttpResponseNotFound()

    if settings.DRAPO_ONLY_STAFF_CAN_EDIT_TEAM_NAME and not request.user.is_staff:
        return HttpResponseNotFound()

    if request.method == 'POST':
        form = forms.TeamForm(data=request.POST)
        if form.is_valid():
            team_name = form.cleaned_data['name']
            with transaction.atomic():
                if models.Team.objects.filter(name=team_name).exists():
                    form.add_error('name', 'Team with same name already exists')
                else:
                    team.name = team_name
                    team.save()

                    messages.success(request, 'Team %s saved' % team.name)
                    return redirect(team)
    else:
        form = forms.TeamForm(initial={'name': team.name})

    return render(request, 'teams/edit.html', {
        'team': team,
        'form': form,
    })
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号