comment.py 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import datetime
  2. import math
  3. import random
  4. from django.http import JsonResponse, HttpResponseRedirect
  5. from blog import models
  6. from system.error.ServerException import ServerException
  7. def get_very_code(request):
  8. very_num = random.randint(1, 100)
  9. request.session['very_num'] = very_num
  10. return JsonResponse({"success": True, "data": very_num})
  11. def add_comment(request):
  12. if request.method == 'POST':
  13. nick_name = request.POST.get("nick_name")
  14. avatar = request.POST.get("avatar")
  15. website = request.POST.get("website")
  16. article_id = request.POST.get("article_id")
  17. article_title = request.POST.get("article_title")
  18. comment = request.POST.get('comment')
  19. email = request.POST.get('email')
  20. veryCode = request.POST.get('veryCode')
  21. try:
  22. veryCode = int(veryCode)
  23. if request.session['very_num'] != veryCode:
  24. request.session['msg'] = "验证码不正确"
  25. return HttpResponseRedirect('/article/' + article_title + '.html')
  26. except Exception as e:
  27. request.session['msg'] = "验证码不正确"
  28. return HttpResponseRedirect('/article/' + article_title + '.html')
  29. article = models.Article.objects.get(id=int(article_id))
  30. if article is None:
  31. return JsonResponse({"success": False, "message": "没有找到对应文章"}, safe=False)
  32. def is_empty(val):
  33. return val is None or val == ''
  34. if is_empty(nick_name):
  35. request.session['msg'] = "请填写昵称"
  36. return HttpResponseRedirect('/article/' + article_title + '.html') # 跳转到主界面
  37. if is_empty(comment):
  38. request.session['msg'] = "请填写评论内容"
  39. return HttpResponseRedirect('/article/' + article_title + '.html') # 跳转到主界面
  40. if is_empty(email):
  41. request.session['msg'] = "请填写Email"
  42. return HttpResponseRedirect('/article/' + article_title + '.html') # 跳转到主界面
  43. request.session['msg'] = ""
  44. models.Comment.objects.create(nick_name=nick_name, avatar=avatar, article=article,
  45. website=website,
  46. comment=comment,
  47. created_time=datetime.datetime.now(), email=email)
  48. return HttpResponseRedirect('/article/' + article_title + '.html') # 跳转到主界面
  49. else:
  50. raise ServerException("错误的请求")