Каковы допустимые значения для поля URL-адреса django?

Каковы допустимые значения для поля URL-адреса django?

Является ли это только для ресурсов URL-адреса http или поддерживает более широкий диапазон. например ssh, rsync, git и т.д.

Я попытался поместить то, что считал допустимым git URL, и оно не получилось.

Поскольку я не использую проверенные_exists, которые устарели, неважно, существует ли ресурс или нет.

Ответы

Ответ 1

Он позволяет использовать только http (s) и ftp (s). Это регулярное выражение, используемое для проверки 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)