views.py 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. from django.shortcuts import render
  2. from django.utils import timezone
  3. from django.shortcuts import redirect
  4. from review.forms import ReplyForm
  5. from review.models import Review, CustomReply
  6. from .nlu_utils import model_inference, analyze_inference
  7. def predict_report(request, review_id):
  8. review = Review.objects.filter(review_id=review_id).first()
  9. if review is None:
  10. return redirect('un-replied-review')
  11. text = review.comment.lower()
  12. res = model_inference(text=text)
  13. intents = analyze_inference(res)
  14. now = timezone.now()
  15. form = ReplyForm()
  16. date = now - timezone.timedelta(days=30)
  17. reviews = Review.objects.filter(reply=None, update_time__gte=date).order_by('-update_time')
  18. replies = {}
  19. for intent in intents.keys():
  20. r = CustomReply.objects.filter(reply_category=intent)
  21. replies[intent] = r
  22. context = {
  23. 'reviews': reviews,
  24. 'form': form,
  25. 'intents': intents,
  26. 'replies': replies
  27. }
  28. return render(request, 'dashboard.html', context)