views.py 1.2 KB

123456789101112131415161718192021222324252627282930313233
  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, filter_with_last_ten_reviews
  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. location_id = review.location.location_id
  12. text = review.comment.lower()
  13. res = model_inference(text=text)
  14. intents = analyze_inference(res)
  15. now = timezone.now()
  16. form = ReplyForm()
  17. date = now - timezone.timedelta(days=30)
  18. reviews = Review.objects.filter(reply=None, update_time__gte=date).order_by('-update_time')
  19. replies = {}
  20. for intent in intents.keys():
  21. r = CustomReply.objects.filter(reply_category=intent)
  22. filtered_replies = filter_with_last_ten_reviews(location_id, r)
  23. replies[intent] = filtered_replies
  24. context = {
  25. 'reviews': reviews,
  26. 'form': form,
  27. 'intents': intents,
  28. 'replies': replies
  29. }
  30. return render(request, 'dashboard.html', context)