ฉันใช้ Django เพื่อการพัฒนาโดยดึงข้อความบางส่วนที่มีอักขระขึ้นบรรทัดใหม่จากฐานข้อมูล อย่างไรก็ตามเมื่อฉันแสดงเป็นเทมเพลตโดยใช้แท็กเทมเพลตจะไม่แสดงอักขระขึ้นบรรทัดใหม่
อะไรคือปัญหา?
ฉันใช้ Django เพื่อการพัฒนาโดยดึงข้อความบางส่วนที่มีอักขระขึ้นบรรทัดใหม่จากฐานข้อมูล อย่างไรก็ตามเมื่อฉันแสดงเป็นเทมเพลตโดยใช้แท็กเทมเพลตจะไม่แสดงอักขระขึ้นบรรทัดใหม่
อะไรคือปัญหา?
คำตอบ:
คุณต้องจำไว้ว่าเทมเพลตของคุณกำลังสร้าง HTML ใน HTML อักขระขึ้นบรรทัดใหม่เป็นเพียงช่องว่างอื่นไม่ได้หมายความว่าให้ใส่ข้อความต่อไปนี้ลงในบรรทัดใหม่ มีหลายวิธีในการบังคับให้ขึ้นบรรทัดใหม่ใน HTML
คุณสามารถห่อข้อความของคุณด้วย<pre>
แท็กเพื่อให้ HTML เข้าใจว่ามีการจัดรูปแบบไว้ล่วงหน้า:
<pre>{{value}}</pre>
คุณสามารถใช้ตัวกรอง Django เพื่อแปลงบรรทัดใหม่ของข้อความธรรมดาเป็น HTML linebreaks
เปลี่ยนบรรทัดใหม่เดียวเป็น<br>
แท็กและขึ้นบรรทัดใหม่สองครั้งเป็น<p>
แท็ก linebreaksbr
เปลี่ยนบรรทัดใหม่เป็น<br>
แท็ก:
{{value|linebreaks}}
{{value|linebreaksbr}}
คุณสามารถทดลองกับสิ่งเหล่านี้เพื่อดูว่าคุณชอบแบบไหนมากกว่ากัน
หากไม่สำเร็จคุณสามารถใช้การปรับแต่งสตริงในมุมมองของคุณเพื่อแปลงข้อความธรรมดาของคุณเป็น HTML ในแบบที่เหมาะกับคุณมากขึ้น และถ้าคุณต้องการขั้นสูงจริงๆคุณสามารถเขียนฟิลเตอร์ของคุณเองที่แปลงในแบบที่คุณต้องการและใช้กับเทมเพลตของคุณได้เลย
ไม่แน่ใจว่าฉันเข้าใจคำถามของคุณทั้งหมดหรือไม่ แต่ลองใช้ตัวกรองการแบ่งบรรทัด
{{ value|linebreaks }}