Как сохранить код Python с отступом в базе данных MySQL с помощью Django ORM - PullRequest
0 голосов
/ 27 апреля 2019

Я работаю над визуализацией интерпретатора Python, где мне нужно сохранить и выполнить код Python, но проблема в том, что я использую Django TextField для сохранения кода Python, но когда я запрашиваю базу данных, я получаю Неформатирован, Unindented код

как:

Оригинальный код

a=3
for i in range(0,5):
    a+=i
print(a)

Код после получения из базы данных

a=3\012for i in range(0\0545):\012 a+=i\012print(a)

Я пытался поиграть со строковым кодированием, но это тоже не сработало. Models.py (только атрибут кода)

code = models.TextField()

1 Ответ

0 голосов
/ 27 апреля 2019

Исходный код Python (в общем) закодирован в UTF-8, поэтому вам необходимо прочитать исходный файл, используя эту кодировку, например:

import io


path = "path/to/module.py"
with io.open(path, mode="r", encoding="utf-8") as f:
    content = f.read')

Затем вы можете сохранить этот контент (строку UNICODE) в вашем TextField

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...