1. 发表评论接口设计
1.请求方式
选项方案请求方法POST请求地址/detail/2.请求参数:表单
参数名类型是否必传说明user_idstring是发表评论的用户idarticle_idstring是评论的文字idcontentstring是评论内容3.响应结果:HTML
字段说明提交失败响应错误提示提交成功刷新页面展示 2. 发表评论接口实现1.发表评论实现
from home.models import Comment,Article
class DetailView(View):
def post(self,request):
#获取用户信息
user=request.user
#判断用户是否登录
if user and user.is_authenticated:
#接收数据
id=request.GET.get('id')
content=request.POST.get('content')
#判断文章是否存在
try:
article = Article.objects.get(id=id)
except Article.DoesNotExist:
return HttpResponseNotFound('没有此文章')
#保存到数据
Comment.objects.create(
content=content,
article=article,
user=user
)
#修改文章评论数量
article.comments_count+=1
article.save()
#拼接跳转路由
path=reverse('home:detail')+'?id={}'.format(article.id)
return redirect(path)
else:
#没有登录则跳转到登录页面
return redirect(reverse('users:login'))
2.detail.html修改
{% csrf_token %}
关注
打赏