class CommitView(generic.CreateView):
model = Link
form_class = CommitForm
template_name = 'app/commit.html'
@ratelimit(key='ip', rate='2/m')
def post(self, request, *args, **kwargs):
was_limited = getattr(request, 'limited', False)
if was_limited:
messages.warning(self.request, "操作太频繁了,请1分钟后再试")
return render(request, 'app/commit.html', {'form': CommitForm()})
return super().post(request, *args, **kwargs)
def get_success_url(self):
messages.success(self.request, "提交成功! 审核期3个工作日。")
return reverse('app:commit')
复制代码
它是继承自CreateView,因为是创建操作嘛,在post中,我们通过ratelimit来限制提交次数。
运行项目
python3 manage.py runserver
复制代码
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有