def detail(request, product_id): # Buscar Lista de Productos recomendados para el usuario valorCalificacion = 0 usuario_activo = request.user usuario = Users.objects.get(pk=usuario_activo.id) nombre_usuario = ( usuario.Nombre.encode("utf-8").lower().capitalize() + " " + usuario.Apellido_p.encode("utf-8").lower().capitalize() ) ciudad_usuario = usuario.Ciudad.encode("utf-8").lower().capitalize() contacto_usuario = usuario.Contacto.encode("utf-8").lower() productos_similares = recomendaciones_contenido.k_vecinos_productos(product_id, 6) # Busca el producto seleccionado Producto = get_object_or_404(Product, pk=product_id) # Busca objeto de Producto con calificacion para el usuario try: calificacionExistente = Calificaciones.objects.get(product=Producto, users=usuario) except Calificaciones.DoesNotExist: comentario = "" valorCalificacion = 0 calificacionExistente = Calificaciones( product=Producto, users=usuario, calificacion_producto=valorCalificacion, comentario=comentario ) if request.POST.get("comentario") is not None: comentario = request.POST.get("comentario") calificacionExistente.calificacion_producto = valorCalificacion calificacionExistente.comentario = comentario calificacionExistente.save() else: if calificacionExistente.comentario is not None: comentario = calificacionExistente.comentario else: comentario = "" if request.POST.get("calificacion") is not None: valorCalificacion = request.POST.get("calificacion") calificacionExistente.calificacion_producto = valorCalificacion calificacionExistente.comentario = comentario calificacionExistente.save() productoExtra = Product_extras() productoExtra = productoExtra.calculaPromedio(Producto) if "recomendaciones_sesion" in request.session.keys(): reco_listas = recomendaciones_xti(usuario) request.session["recomendaciones_sesion"] = reco_listas else: if calificacionExistente.calificacion_producto is not None: valorCalificacion = calificacionExistente.calificacion_producto else: valorCalificacion = 0 # Busca comentarios del mismo Producto por otros usuarios try: comentariosExistentes = ( Calificaciones.objects.filter(product=Producto).order_by("-fecha").select_related("users")[:20] ) except Calificaciones.DoesNotExist: comentariosExistentes = None # Construccion del template y envio de Respuesta template = loader.get_template("products/detail.html") context = { "latest_productos_list": productos_similares, "Producto": Producto, "id_user": usuario_activo.id, "calificacionExistente": calificacionExistente, "comentario": comentario, "valorCalificacion": valorCalificacion, "comentariosExistentes": comentariosExistentes, "nombre_usuario": nombre_usuario, "ciudad_usuario": ciudad_usuario, "contacto_usuario": contacto_usuario, } return HttpResponse(template.render(context, request))
def detail(request, product_id): #Buscar Lista de Productos recomendados para el usuario valorCalificacion = 0 usuario_activo = request.user usuario = Users.objects.get(pk=usuario_activo.id) latest_productos_list, metadatos_recomendacion = recomendaciones_conocimiento.recomendacion_por_reglas(usuario) latest_productos_list = recomendaciones_contenido.k_vecinos_productos(product_id, 10) #Busca el producto seleccionado Producto = get_object_or_404(Product, pk=product_id) #Busca objeto de Producto con calificacion para el usuario try: calificacionExistente = Calificaciones.objects.get(product=Producto, users=usuario) except Calificaciones.DoesNotExist: comentario = "" valorCalificacion = 0 calificacionExistente = Calificaciones(product=Producto, users=usuario, calificacion_producto=valorCalificacion, comentario=comentario) if request.POST.get('comentario') is not None: comentario = request.POST.get('comentario') calificacionExistente.calificacion_producto=valorCalificacion calificacionExistente.comentario=comentario calificacionExistente.save() else: if calificacionExistente.comentario is not None: comentario = calificacionExistente.comentario else: comentario = "" if request.POST.get('calificacion') is not None: valorCalificacion = request.POST.get('calificacion') calificacionExistente.calificacion_producto=valorCalificacion calificacionExistente.comentario=comentario calificacionExistente.save() else: if calificacionExistente.calificacion_producto is not None: valorCalificacion = calificacionExistente.calificacion_producto else: valorCalificacion = 0 #Busca comentarios del mismo Producto por otros usuarios try: comentariosExistentes = Calificaciones.objects.filter(product=Producto).order_by('-fecha').select_related('users')[:20] except Calificaciones.DoesNotExist: comentariosExistentes = None #Construccion del template y envio de Respuesta template = loader.get_template('products/detail.html') context = { 'latest_productos_list': latest_productos_list[:100], 'metadatos_usuario': metadatos_recomendacion, 'Producto': Producto, 'id_user': usuario_activo.id, 'calificacionExistente': calificacionExistente, 'comentario': comentario, 'valorCalificacion': valorCalificacion, 'comentariosExistentes': comentariosExistentes } return HttpResponse(template.render(context, request))
def detail(request, product_id): #Buscar Lista de Productos recomendados para el usuario valorCalificacion = 0 usuario_activo = request.user usuario = Users.objects.get(pk=usuario_activo.id) nombre_usuario = usuario.Nombre.encode("utf-8").lower().capitalize( ) + " " + usuario.Apellido_p.encode("utf-8").lower().capitalize() ciudad_usuario = usuario.Ciudad.encode("utf-8").lower().capitalize() contacto_usuario = usuario.Contacto.encode("utf-8").lower() productos_similares = recomendaciones_contenido.k_vecinos_productos( product_id, 6) #Busca el producto seleccionado Producto = get_object_or_404(Product, pk=product_id) #Busca objeto de Producto con calificacion para el usuario try: calificacionExistente = Calificaciones.objects.get(product=Producto, users=usuario) except Calificaciones.DoesNotExist: comentario = "" valorCalificacion = 0 calificacionExistente = Calificaciones( product=Producto, users=usuario, calificacion_producto=valorCalificacion, comentario=comentario) if request.POST.get('comentario') is not None: comentario = request.POST.get('comentario') calificacionExistente.calificacion_producto = valorCalificacion calificacionExistente.comentario = comentario calificacionExistente.save() else: if calificacionExistente.comentario is not None: comentario = calificacionExistente.comentario else: comentario = "" if request.POST.get('calificacion') is not None: valorCalificacion = request.POST.get('calificacion') calificacionExistente.calificacion_producto = valorCalificacion calificacionExistente.comentario = comentario calificacionExistente.save() productoExtra = Product_extras() productoExtra = productoExtra.calculaPromedio(Producto) if 'recomendaciones_sesion' in request.session.keys(): reco_listas = recomendaciones_xti(usuario) request.session['recomendaciones_sesion'] = reco_listas else: if calificacionExistente.calificacion_producto is not None: valorCalificacion = calificacionExistente.calificacion_producto else: valorCalificacion = 0 #Busca comentarios del mismo Producto por otros usuarios try: comentariosExistentes = Calificaciones.objects.filter( product=Producto).order_by('-fecha').select_related('users')[:20] except Calificaciones.DoesNotExist: comentariosExistentes = None #Construccion del template y envio de Respuesta template = loader.get_template('products/detail.html') context = { 'latest_productos_list': productos_similares, 'Producto': Producto, 'id_user': usuario_activo.id, 'calificacionExistente': calificacionExistente, 'comentario': comentario, 'valorCalificacion': valorCalificacion, 'comentariosExistentes': comentariosExistentes, 'nombre_usuario': nombre_usuario, 'ciudad_usuario': ciudad_usuario, 'contacto_usuario': contacto_usuario, } return HttpResponse(template.render(context, request))
def detail(request, product_id): #Buscar Lista de Productos recomendados para el usuario valorCalificacion = 0 usuario_activo = request.user usuario = Users.objects.get(pk=usuario_activo.id) nombre_usuario = str(usuario.Nombre).lower().capitalize() + " " + str(usuario.Apellido_p).lower().capitalize() ciudad_usuario = str(usuario.Ciudad).lower().capitalize() contacto_usuario = str(usuario.Contacto).lower() productos_similares = recomendaciones_contenido.k_vecinos_productos(product_id, 6) #Busca el producto seleccionado Producto = get_object_or_404(Product, pk=product_id) #Busca objeto de Producto con calificacion para el usuario try: calificacionExistente = Calificaciones.objects.get(product=Producto, users=usuario) except Calificaciones.DoesNotExist: comentario = "" valorCalificacion = 0 calificacionExistente = Calificaciones(product=Producto, users=usuario, calificacion_producto=valorCalificacion, comentario=comentario) if request.POST.get('comentario') is not None: comentario = request.POST.get('comentario') calificacionExistente.calificacion_producto=valorCalificacion calificacionExistente.comentario=comentario calificacionExistente.save() else: if calificacionExistente.comentario is not None: comentario = calificacionExistente.comentario else: comentario = "" if request.POST.get('calificacion') is not None: valorCalificacion = request.POST.get('calificacion') calificacionExistente.calificacion_producto=valorCalificacion calificacionExistente.comentario=comentario calificacionExistente.save() productoExtra = Product_extras() productoExtra = productoExtra.calculaPromedio(Producto) if 'recomendaciones_sesion' in request.session.keys(): reco_listas = recomendaciones_xti(usuario) request.session['recomendaciones_sesion'] = reco_listas else: if calificacionExistente.calificacion_producto is not None: valorCalificacion = calificacionExistente.calificacion_producto else: valorCalificacion = 0 #Busca comentarios del mismo Producto por otros usuarios try: comentariosExistentes = Calificaciones.objects.filter(product=Producto).order_by('-fecha').select_related('users')[:20] except Calificaciones.DoesNotExist: comentariosExistentes = None #Construccion del template y envio de Respuesta template = loader.get_template('products/detail.html') context = { 'latest_productos_list': productos_similares, 'Producto': Producto, 'id_user': usuario_activo.id, 'calificacionExistente': calificacionExistente, 'comentario': comentario, 'valorCalificacion': valorCalificacion, 'comentariosExistentes': comentariosExistentes, 'nombre_usuario': nombre_usuario, 'ciudad_usuario': ciudad_usuario, 'contacto_usuario': contacto_usuario, } return HttpResponse(template.render(context, request))