Opened 6 years ago

Closed 6 years ago

#18662 closed Bug (invalid)

Urlize fails with Markdown url string

Reported by: anon Owned by: nobody
Component: Template system Version: 1.4
Severity: Normal Keywords:
Cc: pelletier Triage Stage: Design decision needed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


Following template tag fails with "Invalid IPv6 URL":

{{ "Text [Dr. Bunsen (Seth Brown)]( more text"|urlize }}

Change History (4)

comment:1 Changed 6 years ago by Roman Gladkov

You really want it? Markdown himself makes link, or try it

>>> Template("""Text [Dr. Bunsen (Seth Brown)]({{ ""|urlize }}) more text""").render(c)
u'Text [Dr. Bunsen (Seth Brown)](<a href="" rel="nofollow"></a>) more text'
Last edited 6 years ago by Roman Gladkov (previous) (diff)

comment:2 Changed 6 years ago by pelletier

Triage Stage: UnreviewedDesign decision needed

According to the documentation the urlize filter is not meant to handle markdown formatting. In fact, it only supports plain URLs and a very simple syntax (text of your link http://yourlink).

Unsurprisingly, when you use it on some markdown, the matching won't work as expected. Here, the URL Django finds is http://Brown)](, which is why it eventually fails.

In my opinion it's a wontfix: I think Django does not have to implement markdown-specific functions, and as d1ffuz0r pointed out, you have a way to achieve your (apparent) goal. However, I set it as a DDN because some people may think otherwise.

comment:3 Changed 6 years ago by pelletier

Cc: pelletier added

comment:4 Changed 6 years ago by Claude Paroz

Resolution: invalid
Status: newclosed

Same opinion here. Markdown syntax should be passed to the "|markdown" filter.

Note: See TracTickets for help on using tickets.
Back to Top