2012-01-08 11 views
15

¿Cuáles son los valores válidos para un campo URL django?¿Cuáles son los valores válidos para un campo URL django?

Es solo para recursos http URL o admite un rango más amplio. por ejemplo, ssh, rsync, git, etc.

Intenté poner lo que consideraba una URL válida de Git y falló.

Como no estoy utilizando el verify_exists que está en desuso, no importa si el recurso existe o no.

Respuesta

14

Permite HTTP (s) y ftp (s) solamente. Esta es la expresión regular utilizada para validar las URL django.core.validators.URLValidator:

regex = re.compile(
    r'^(?:http|ftp)s?://' # http:// or https:// 
    r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' # domain... 
    r'localhost|' # localhost... 
    r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|' # ...or ipv4 
    r'\[?[A-F0-9]*:[A-F0-9:]+\]?)' # ...or ipv6 
    r'(?::\d+)?' # optional port 
    r'(?:/?|[/?]\S+)$', re.IGNORECASE) 
Cuestiones relacionadas