
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
{{ post.content|addhttpstodomains|embedlinks }} # HTTPS toevoegen en links insluiten
Comments (0) Comment
© Uglek, 2022