comment.py 2.5 KB

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