Как преодолеть метод Django urlize(), включающий ведущий текст+. в url, например, x.http://example.com.

Я получаю нежелательный результат от метода django urlize, когда есть ведущее число и точка (как может быть набрано в нумерованном списке без ожидаемого пробела)

Этот вывод удивляет меня:

In [4]: urlize("1.www.test.com")
Out[4]: '<a href="http://1.www.test.com">1.www.test.com</a>'

Кажется, что парсер не должен включать ничего перед префиксом www, если это не схема, но...

In [6]: urlize("1.http://test.com")
Out[6]: '<a href="http://1.http://test.com">1.http://test.com</a>'

Что я могу сделать, чтобы предотвратить это? Либо предварительным парсингом ввода, либо постпарсингом после? Или есть лучший метод?

In [2]: from django.utils.html import urlize

In [3]: urlize("www.test.com")
Out[3]: '<a href="http://www.test.com">www.test.com</a>'

In [4]: urlize("1.www.test.com")
Out[4]: '<a href="http://1.www.test.com">1.www.test.com</a>'

In [5]: urlize("1.test.com")
Out[5]: '<a href="http://1.test.com">1.test.com</a>'

In [6]: urlize("1.http://test.com")
Out[6]: '<a href="http://1.http://test.com">1.http://test.com</a>'

In [7]: urlize("a.http://test.com")
Out[7]: '<a href="http://a.http://test.com">a.http://test.com</a>'
Вернуться на верх