Posts by @intersex (239)


My name is Jasper Camber Holton. I write, code, make music, and I am the developer of Uglek.com.

π

Este usuario es un administrador.

Has 239 posts, follows 16 users and is followed by 11 users.

Last seen at January 22, 2022 19:24

Premium Member
@intersex's Foto de perfil

Filtros de plantilla de Django para agregar HTTPS y resaltar URL Puede usar estos filtros de plantilla de Django para agregar HTTPS a sus URL y resaltarlos como etiquetas ancla (a) con código simple. ha agregado comentarios para describir cómo funciona el código.

 # app/templatetags/app_filters.py 
from urlextract import URLExtract 
solicitudes de importación 
... 
@register. filter(name='addhttpstomains') # El primer filtro, para agregar HTTPS 
def addhttpstomains(value): 
 dominios = re.findall(r'+ dominio[1] 
 elementos_reemplazados = [] 
 for i, j in dic.items(): # Reemplazar sin reemplazar dos veces 
 si no i en elementos_reemplazados: [=NEWLINE= ] valor = valor.reemplazar(i, j) 
 elementos_reemplazados.append(i); 
 valor = str(valor) 
 while valor.find('https://') > -1: # Eliminar cualquier duplicado 
 valor = valor.reemplazar ('https://','https://') 
 valor de retorno 
 
@register.filter(name='embedlinks') 
def incrustar enlaces(valor): 
 salida = "" 
 fragmentos = valor.split("https://") # Dividir en HTTPS 
 para x, fragmento en enumerar (fragmentos): # Enumerar sobre secciones divididas 
 si x != 0: 
 fragmento = "https://" + fragmento # Vuelva a agregar HTTPS en 
 urls = extractor.find_urls(fragmento); # Buscar URL en fragmento 
 dic = {} 
 para url en urls: 
 plus = '(está en Uglek)' # Configurar etiqueta de anclaje 
 if not url[8:17].lower() == 'uglek.com': 
 plus = ' (te llevará fuera de Uglek)' 
 if url.endswith('. ') o url.termina con(','): 
 url = url[:-1] 
 si no url.inferior().comienza con('uglek.com') y url.lower().startswith('https://'): 
 prueba: 
 respuesta = solicitudes.' + url[8:] + ' ' # Crea una etiqueta de anclaje para reemplazar la URL con 
 excepto: 
 print("La URL no existe") 
 elif url.startswith(' https://'): 
 dic[url] = ' ' + url[8:] + ' ' 
 para i, j en dic.items(): # Buscar y reemplazar en fragmento 
 fragmento = fragmento.reemplazar(i, j) 
 salida = salida + fragmento # Volver a unir las piezas 
 devolver salida
En acción, estos las etiquetas tienen el siguiente aspecto:
{{ post.content|addhttpstodomains|embedlinks }} # Agregue HTTPS e incruste enlaces