2012-11-05 9 views
8

जैसे एक वाक्यांश में किसी प्रकार के हैं:एचटीएमएल के साथ पाइथन (डीजेगो) स्ट्रिंग से न्यूलाइन के साथ पाठ को वापस पढ़ने और प्रिंट करने के लिए कैसे?

I see you driving 

round town with the girl I love, 

and I’m like: haiku. 

(प्रत्येक पंक्ति के बीच कोई रिक्त लाइनों, लेकिन पाठ तीन अलग पंक्ति में लिखा है) एक वेब पेज पर एक पाठ बॉक्स में, और उसके बाद एक प्रेस बटन जिसे Django के माध्यम से डेटाबेस में संग्रहीत किया जाता है, और उस स्ट्रिंग को एक पृष्ठ पर वापस पढ़ा और मुद्रित किया जाता है, मैं इसे HTML पृष्ठ पर प्रिंट करने के लिए कैसे प्राप्त कर सकता हूं, अभी भी टेक्स्ट में न्यूलाइन के साथ?

यह के बजाय के रूप में वापस मुद्रित किया जा रहा: I see you driving round town with the girl I love, and I’m like: haiku.

यह प्रिंट के रूप में:

I see you driving 

round town with the girl I love, 

and I’m like: haiku. 

मुझे पता है कि अगर मैं का उपयोग करें: (textarea)soAndSo.body(/textarea), इस नई पंक्तियां उस फ़ाइल जब में थे को बरकरार रखता है उपयोगकर्ता ने इसे मूल रूप से टाइप किया। मैं यह वही प्रभाव कैसे प्राप्त कर सकता हूं, लेकिन textarea बक्से का उपयोग किए बिना?

उत्तर

2

रैपिंग <pre> में उत्पादन स्वरूपण को सुरक्षित करेगा, <pre>soAndSo.body</pre>

एक और अधिक उन्नत समाधान एचटीएमएल पैराग्राफ या पंक्ति विराम में नई-पंक्तियों मोड़ शामिल है। Django के लिए अंतर्निहित फ़िल्टर हैं: linebreaks और linebreaksbr दोनों चाल चल सकते हैं।

आप उन का उपयोग करना चाहते हैं, तो पर फ़िल्टर की तरह उत्पादन: {{ soAndSo.body|linebreaks }}

2

अपने खाके में linebreaksbr (या linebreaks) फिल्टर का प्रयोग करें।

उदाहरण के लिए:

{{ value|linebreaksbr }}

यदि मान Joel\nis a slug है, उत्पादन Joel<br />is a slug हो जाएगा।

0

न्यूलाइन हैं, यह HTML में कुछ भी नहीं करता है। ,

#haiku {white-space:pre;} 

Fiddled, यह देखते हुए कि the property is surprisingly well-supported लायक भी पर:

LINEBREAK प्रतीकों \r\n एक <br/> के साथ बदल निश्चित रूप से है एक विकल्प होने जबकि तरह {{ content|linebreaksbr }}

संबंधित मुद्दे