In generale ci sono schemi URL validi che sono pericolosi. Ovviamente   javascript:   , che come pseudo-URL non si riferisce a una nuova posizione, ma a un comando da eseguire sulla pagina corrente. Se aggiungi un   javascript:    URL da aggiungere alla tua pagina significa che hai un problema di scripting cross-site. 
 Esistono anche altri alias di script (   vbscript:   ,   mocha:    et al), nonché   data:    e qualsiasi numero di gestori di protocolli arbitrari che il software di terze parti potrebbe aver installato sul client. Pertanto, in genere devi inserire nella whitelist gli schemi URL. 
 L'URLValidator predefinito di Django per URLField esegue questa operazione, consentendo solo i collegamenti http, https, ftp e ftps, quindi, purché non siano stati sostituiti i validatori, dovrebbe essere OK. (Potresti desiderare di farlo, se questo non è l'insieme di schemi che vuoi.) Se hai altri mezzi per popolare il campo   some_url    che non passa attraverso il campo / validatore normale allora devi fare sicuro che sia anche convalidato. 
  (What comes to mind is including a quote in the URL and then arbitrary HTML.)
 Finché non hai disabilitato   autoescape   , l'escape HTML predefinito fornito da   {{...}}    templating lo impedisce (codifica correttamente le virgolette singole in   '   ).