def recomendarJugadoresItem(request): items = None idUsuario = None usuario = None form = UserForm() if request.method == 'POST': form = UserForm(request.POST) if form.is_valid(): idUsuario = form.cleaned_data['id'] shelf = shelve.open("dataRS.dat") Prefs = shelf['Prefs'] SimItems = shelf['SimItems'] shelf.close() try: usuario = Usuario.objects.get(id=int(idUsuario)) except: return redirect('/error') rankings = getRecommendedItems(Prefs, SimItems, int(idUsuario)) recommended = rankings[:3] jugadores = [] scores = [] for re in recommended: jugadores.append(Jugador.objects.get(pk=re[1])) scores.append(re[0]) items = zip(jugadores, scores) return render(request, 'searchRecommendJugadores.html', { 'user': usuario, 'items': items, 'form': form })
def recommended_peripheral_items(request): if request.method == 'GET': form = UserForm(request.GET, request.FILES) if form.is_valid(): id_user = form.cleaned_data['id'] user = get_object_or_404(User, pk=id_user) shelf = shelve.open("dataRS.dat") prefs = shelf['Prefs'] sim_items = shelf['SimItems'] items = [] if int(id_user) not in prefs: return render(request, 'recommendationItems.html', { 'user': user, 'items': items }) shelf.close() getHybridRecommendation(prefs, int(id_user), sim_items) rankings = getRecommendedItems(prefs, sim_items, int(id_user)) recommended = rankings[: 20] # Change number of similar items recommended peripherals = [] scores = [] for re in recommended: peripherals.append(Peripheral.objects.get(pk=re[1])) scores.append(re[0]) items = zip(peripherals, scores) return render(request, 'recommendationItems.html', { 'user': user, 'items': items }) form = UserForm() return render(request, 'searchUser.html', {'form': form})
def __vista2_items(username): user = User.objects.get(username=username) user_id = user.pk shelf = shelve.open("dataRS.dat") prefs = shelf['Prefs'] sim_items = shelf['SimItems'] shelf.close() rankings = getRecommendedItems(prefs, sim_items, int(user_id)) recommended = rankings[:10] # Change number of similar items recommended scores = [] peripherals = [] for re in recommended: peripherals.append(Peripheral.objects.get(pk=re[1])) scores.append(re[0]) items = zip(peripherals, scores) return items
def recommendedFilms(request): if request.method=='GET': form = UserForm(request.GET, request.FILES) if form.is_valid(): idUser = form.cleaned_data['id'] user = get_object_or_404(UserInformation, pk=idUser) shelf = shelve.open("dataRS.dat") Prefs = shelf['Prefs'] SimItems = shelf['SimItems'] shelf.close() rankings = getRecommendedItems(Prefs, SimItems, int(idUser)) recommended = rankings[:2] items = [] for re in recommended: item = Film.objects.get(pk=re[1]) items.append(item) return render(request,'recommendationItems.html', {'user': user, 'items': items}) form = UserForm() return render(request,'search_user.html', {'form': form})
def animesRecomendados(request): if request.method == 'GET': form = UserForm(request.GET, request.FILES) if form.is_valid(): idUser = form.cleaned_data['id'] user = Rating.objects.filter(user=idUser) shelf = shelve.open("dataRS.dat") Prefs = shelf['Prefs'] SimItems = shelf['SimItems'] shelf.close() rankings = getRecommendedItems(Prefs, SimItems, int(idUser)) recommended = rankings[:5] animes = [] scores = [] for re in recommended: animes.append(Anime.objects.get(animeid=re[1])) scores.append(re[0]) items = zip(animes, scores) animes = Anime.objects.all() return render(request, 'recommendationItems.html', {'user': user, 'items': items, 'animes':animes}) form = UserForm() return render(request, 'search_user.html', {'form': form})