Foros del Web » Programando para Internet » Python »

Consulta "urlconf" mayusculas y minusculas

Estas en el tema de Consulta "urlconf" mayusculas y minusculas en el foro de Python en Foros del Web. Hola, Tengo una duda como hago para que cuando un usuario ingrese una url ya sea en minuscula o mayuscula alguna de las letras de ...
  #1 (permalink)  
Antiguo 17/08/2014, 11:59
 
Fecha de Ingreso: mayo-2012
Ubicación: Mexico
Mensajes: 82
Antigüedad: 11 años, 11 meses
Puntos: 7
Consulta "urlconf" mayusculas y minusculas

Hola,

Tengo una duda como hago para que cuando un usuario ingrese una url ya sea en minuscula o mayuscula alguna de las letras de la url esta se rediriga al slug

Ejemplo:
slug = "como-cocinar-frijoles"
usuario accede por la url: /Como-Cocinar-frijoles, esto retorna un 404, la idea es que se redireccione al slug, porque realmente sigue siendo la misma url, solo que con letras mayusculas.
  #2 (permalink)  
Antiguo 17/08/2014, 12:03
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Consulta "urlconf" mayusculas y minusculas

convierte el slug que capturas en minusculas.

Ejemplo rápido:
Código Python:
Ver original
  1. def my_view(request, slug):
  2.     slug = slug.lower()
  3.     ...
  #3 (permalink)  
Antiguo 17/08/2014, 12:12
 
Fecha de Ingreso: mayo-2012
Ubicación: Mexico
Mensajes: 82
Antigüedad: 11 años, 11 meses
Puntos: 7
Respuesta: Consulta "urlconf" mayusculas y minusculas

No habria de hacer esto por medio de regex, ya que solo se puede mostrar una url no dos, ya que esto seria contenido duplicado, si entra con la url exacta pero con alteraciones en minusculas o mayusculas redireccione a la url definida y unica en el campo slug.

Al estilo Facebook, por ejemplo con la pagina oficinal de Youtube es esta: https://www.facebook.com/youtube
Si alguien intenta cambiar una letra a mayuscula https://www.facebook.com/Youtube redirecciona a la primera pues fue la que el usuario creo.

Gracias.

Cita:
Iniciado por razpeitia Ver Mensaje
convierte el slug que capturas en minusculas.

Ejemplo rápido:
Código Python:
Ver original
  1. def my_view(request, slug):
  2.     slug = slug.lower()
  3.     ...
  #4 (permalink)  
Antiguo 17/08/2014, 14:13
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Consulta "urlconf" mayusculas y minusculas

Mismo principio.

Código Python:
Ver original
  1. def my_view(request, slug):
  2.     if slug != slug.lower():
  3.         return redirect con slug.lower()

En caso que quieras preservar mayúsculas y minúsculas.
Código Python:
Ver original
  1. def my_view(request, slug):
  2.     obj = get_object_or_404(MyModel, slug__iexact=slug)
  3.     if obj.slug != slug:
  4.         return redirect con obj.slug

En el caso de facebook, preserva mayúsculas y minúsculas.

Ejemplo:
https://www.facebook.com/NASA
https://www.facebook.com/NaSa

Pero debes de tener cuidado que en tus modelos, no puedan crear 2 slug iguales con case insensitive pero diferentes con case sensitive.

Etiquetas: mayusculas, minusculas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:51.