私はPythonコースをやっています。現在の課題は、データベースから情報を取り出し、テキストボックスに追加し、テキストボックス内のコンテンツからHTMLファイルを作成することです。文字列から「 n」を削除しますが、実際の改行は残しておきますか?
すべてが完全に動作し、行の途切れを正確に入力してデータベースに入力します。唯一の問題は、 "{{"と "}}"がデータベースから検索された後にテキストの周りに追加されることです。だから、私は文字列に文字を変え、その部分を[3:-4]でスライスします。しかし、それは今や文字列であるため、テキストボックスに入力するときに文字通り "\ n"をテキストに書き込むようになりました。
角かっこを切り捨てて、「\ n」のテキストは含めませんが、改行はそのままにしておきますか?ここで
は、私は、文字列やスライスにそれを回す前に、どのようなテキストボックスが表示さです:{{これは私のテキスト
です! 改行があるため、非常にきれいです。 スウィート}}
そして、私はそれの文字列にするとオフ端をカットした後:!。これは私のテキストです\ nは\ nのブラケットがなくなっているが、今あなたが改行コードを見ることができます
\ N \ 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インジェクションに脆弱です。 –
私のスクリプトでデータベースにアクセスする唯一の方法は、読み取り専用コンボボックスから5つのオプションの1つを選択することです。 –
@NathanR攻撃者はブラウザ側で簡単にコンボボックスを変更できます。クライアントを信頼しないでください。 – Selcuk