Menggunakan templat/Kelalang Jinja untuk melaksanakan pemaparan perenggan HTML bersarang dengan pengubahsuaian tebal
P粉170438285
P粉170438285 2024-03-22 13:59:22
0
1
723

Saya sedang mencari untuk mencipta fungsi yang mengalih keluar perkataan daripada ayat dan kemudian menggantikan perkataan yang dialih keluar dengan perkataan lain yang diperoleh daripada carian API kamus.

Sangat mudah, ini ialah fungsi yang menyemak sama ada perkataan dalam ayat tergolong dalam senarai perkataan yang dialih keluar, jika ya, gantikannya dengan perkataan gantian, jika tidak, tambahkan perkataan asal pada rentetan baharu. Tiada masalah,

Apa yang saya perlukan bantuan ialah jika saya menggunakan rentetan F dan menambah pengubah suai teks untuk ditafsirkan dalam teg HTML, adakah ini cara yang betul untuk melakukannya? Saya hanya mahu tebalkan teks yang digantikan

if word in removed_words:
               print("our word for the dictionary is", word)  
               res =  dictionary.meaning(word.capitalize())

               if res != None:
              
                   if res.get('Noun'):
                      print("our definition is", "---> ", res['Noun'][0], " <----")
                      remaining_words.append(f"""{res['Noun'][0]}""")

                   elif res.get('Verb'):
                        print("our definition is", "---> ", res['Verb'][0], " <----")
                        remaining_words.append(f"""{res['Verb'][0]}""")

               else:
                    remaining_words.append(f"""{r.word()}""")
             
           else:
                remaining_words.append(word)

Apabila saya memeriksa penanda HTML dalam penyemak imbas, elemen perenggan yang mengandungi rentetan baharu disusun dengan betul, seperti

<p>This is the new sentence with the <b>replaced word</b> and the other words</p>

Masalahnya, bagaimanapun, ialah <b> tersirat dalam penanda akhir, tetapi tidak diberikan. Adakah saya kehilangan sesuatu di sini?

Semasa proses pemaparan, teg templat Flask yang perenggan dipanggil adalah seperti berikut dan <p> yang mengandungi soalan[0] ialah nilai rentetan pemaparan baharu yang saya bincangkan.

h3 class="header3 head4">{{heading}}

<p id="question">{{question[0]}}</p>

<button id="showanswer">Show the Answer</button>
<p id="answer">{{question[1]}}</p>

<form  id="submitanswer" method="post", action="/quiz/processanswer">
<input id="useranswer" type="text" name="answer" placeholder="Enter your answer">
<input id="hiddenanswer" name="hiddenanswer" type="text" value="{{question[1]}}" 
 id="hiddenanswer">
 <button id="answerSubmit">Submit</button>
 </form>

Terima kasih atas bantuan anda!

P粉170438285
P粉170438285

membalas semua(1)
P粉087074897

Secara lalai, Jinga akan secara automatik melepaskan aksara dalam pembolehubah, seperti >, < (apabila menggunakan {{question[0]}}).

Jika anda yakin dengan cara soalan[0] dibina, anda boleh memintas auto-melarikan diri ini dengan menggantikannya dengan <p id="question">{{question[0]}}</p>改为<p id="question">{{question[0] | safe }}</p>.

Untuk maklumat lanjut, sila rujuk: https://jinja.palletsprojects.com/en/3.0.x/templates/#html-escaping

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan