Различные результаты работы Django Server и PyCharm

Я столкнулся с проблемой, что я получаю разные результаты, выполняя один и тот же код на PyCharm и на Django Server. PyCharm дает ожидаемый и необходимый результат, так что это проблема, которую нужно решить. Потому что я использую PyCharm только для тестирования.

Входная строка:

# HTML

HTML is a markup language that can be used to define the structure of a web page. HTML elements include

* headings
* paragraphs
* lists
* links
* and more!

The most recent major version of HTML is HTML5.

Код:

# A list of simple markdown and there html aquvalents.
# First element is the inner html/markdown second is the whole markdown, third is the starting html tag and fourth the closing html tag
regex_hugging_html = [
    [r"(?<=^#{1})[^#][^\n]*$", r"^#{1}[\s]*[^#][^\n]*$", "<h1>", "</h1>"],      # heading first level (#)
    [r"(?<=^#{2})[^#][^\n]*$", r"^#{2}[\s]*[^#][^\n]*$", "<h2>", "</h2>"],      # heading second level (##)
    [r"(?<=^#{3})[^#][^\n]*$", r"^#{3}[\s]*[^#][^\n]*$", "<h3>", "</h3>"],      # heading third level (###)
    [r"(?s)\*\*(.*?)\*\*", r"(?s)\*\*.+?\*\*", "<b>", "</b>"],                  # boldface (** **)
    [r"(?s)__(.*?)__", r"(?s)__.+?__", "<b>", "</b>"],                          # boldface (__ __)
    [r"(?s)\n{2}(.+?)(?=\n{2}|\Z)", r"(?s)(\n{2}.+?)(?=\n{2}|\Z)", "<p>", "</p>"],    # paragraphs (blank line)
]

def markdown_to_html(markdown):
    html = markdown
    for replacer in regex_hugging_html:
        # Find all occurances of the markdown expression
        for substr in re.compile(replacer[0], re.M).findall(html):
            # Replace the complet markdown expresion with the inner string surrounded by html
            html = re.compile(replacer[1], re.M).sub(replacer[2] + substr.strip() + replacer[3], html, count=1)
    return html

Если я распечатаю html в Pycharm, то получу следующий вывод:

<h1>HTML</h1><p>HTML is a markup language that can be used to define the structure of a web page. HTML elements include</p><p>* headings
* paragraphs
* lists
* links
* and more!</p><p>The most recent major version of HTML is HTML5.</p>

На моем Django-сервере вывод выглядит следующим образом:

<h1>HTML</h1>

HTML is a markup language that can be used to define the structure of a web page. HTML elements include

* headings
* paragraphs
* lists
* links
* and more!

The most recent major version of HTML is HTML5.

Так вы можете увидеть недостающие теги абзацев из html, так же, как я осматриваю сторону.

Как это может быть, я понятия не имею?

Я попробовал его на PyCharm, так как столкнулся с проблемой, и, как я вижу, он должен работать правильно.

Вернуться на верх