@Jasper_Holton's profile photo

Django-sjabloonfilters om HTTPS toe te voegen en URL's te markeren U kunt deze Django-sjabloonfilters gebruiken om HTTPS aan uw URL's toe te voegen en deze te markeren als ankertags (a) met eenvoudige code. heeft opmerkingen toegevoegd om te beschrijven hoe de code werkt.

 # app/templatetags/app_filters.py 
van urlextract import URLExtract 
importverzoeken 
... 
@register. filter(name='addhttpstodomains') # Het eerste filter om HTTPS toe te voegen 
def addhttpstodomains(value): 
 domains = re.findall(r'+ domein[1] 
 Replace_items = [] 
 for i, j in dic.items(): # Vervang zonder tweemaal te vervangen 
 if not i in Replace_items: [=NEWLINE= ] value = value.replace(i, j) 
 Replace_items.append(i); 
 value = str(value) 
 while value.find('https://') > -1: # Verwijder eventuele duplicaten 
 value = value.replace ('https://','https://') 
 retourwaarde 
 
@register.filter(name='embedlinks') 
def embedlinks(value): 
 output = "" 
 chunks = value.split("https://") # Splitsen op HTTPS 
 voor x, chunk in enumerate (brokken): # Opsommen over gesplitste secties 
 if x != 0: 
 chunk = "https://" + chunk # HTTPS weer toevoegen aan 
 urls = extractor.find_urls(chunk); # Zoek URL in chunk 
 dic = {} 
 voor url in urls: 
 plus = ' (het staat op Uglek)' # Configureer ankertag 
 if not url[8:17].lower() == 'uglek.com': 
 plus = ' (u komt buiten Uglek)' 
 if url.endswith('. ') of url.endswith(','): 
 url = url[:-1] 
 indien niet url.lower().startswith('uglek.com') en url.lower().startswith('https://'): 
 probeer: 
 response = verzoeken.' + url[8:] + ' ' # Bouw een ankertag om de URL te vervangen door 
 behalve: 
 print("URL bestaat niet") 
 elif url.startswith(' https://'): 
 dic[url] = ' ' + url[8:] + ' ' 
 for i, j in dic.items(): # Zoek en vervang in chunk 
 chunk = chunk.replace(i, j) 
 output = output + chunk # Leg de stukjes weer bij elkaar 
 return output
In actie, deze tags zien er als volgt uit:
{{ post.content|addhttpstodomains|embedlinks }} # HTTPS toevoegen en links insluiten 


Pinterest logo
Tumblr logo VK logo

https://uglek.com/post/331/?lang=nl -