2012-01-08 4 views
15

Quelles sont les valeurs valides pour un champ URL django?Quelles sont les valeurs valides pour un champ URL django?

Est-ce uniquement pour les ressources d'URL http ou prend-il en charge une plage plus large. par exemple ssh, rsync, git etc.

J'ai essayé de mettre ce que je considérais comme une URL Git valide et cela a échoué. Étant donné que je n'utilise pas verify_exists qui est en train d'être déprécié, peu importe que la ressource existe ou non.

Répondre

14

Autorise uniquement les protocoles http (s) et ftp (s). Ceci est l'expression régulière utilisée pour valider les 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) 
Questions connexes