Я занимаюсь курсом Python, а текущее задание - получать информацию из базы данных, добавлять ее в текстовое поле и затем создавать HTML-файл из содержимого внутри текстового поля.Удалить « n» из строки, но оставить фактические строки?
Все работает отлично, с разрывами в строках точно, как я их ввел в базу данных. Единственная проблема заключается в том, что «{{и«}} »добавляются вокруг текста после его получения из базы данных. Поэтому я превращаю текст в строку и фрагмент, который используется с [3: -4]. Но тогда, поскольку теперь это строка, теперь она буквально записывает «\ n» в текст, когда она вводится в текстовое поле.
Есть ли все-таки разрезать скобки, НЕ включать текст «\ n», но все равно сохранить разрывы строк?
Вот что текстовое поле отображается, прежде чем я превратить его в строку и ломтик:
{{Это мой текст! Он выглядит очень чистым, потому что он имеет разрывы строк. ! Сладкие}}
И после того, как я делаю это строка и отрезать концы от:
Это мой текст \ п \ NThe скобки исчезли, но теперь вы можете увидеть LineBreak код \ п \ nLame. !
Могу ли я иметь лучшее из обоих миров? Вот мой код:
# Grabs info from database on button click
def getContent(self):
c.execute("SELECT HTML FROM Content WHERE conName ='{}'".format(self.contentBox.get()))
fetch = (c.fetchall())
return str(fetch)[3:-4]
# Inserts content into textbox
def setContent(self):
self.clear()
combo = self.getContent()
self.text_body.insert(END,combo)
Не используйте 'str.format' напрямую или вы будете уязвимы для SQL-инъекций. –
Единственный способ получить доступ к базе данных в моем скрипте - выбрать один из пяти вариантов из списка со списком только для чтения. –
@NathanR Злоумышленник может легко изменить выпадающий список на стороне браузера. Никогда не доверяйте клиенту. – Selcuk