2009-08-31 7 views
65

से पाठ प्रस्तुत करते समय Django न्यूलाइन वर्ण प्रदर्शित नहीं करता है मैं डेटाबेस के लिए Django का उपयोग कर रहा हूं, डेटाबेस से एक न्यूलाइन वर्ण वाले कुछ पाठ को पुनर्प्राप्त कर रहा हूं। हालांकि, जब मैं इसे टेम्पलेट टैग का उपयोग करके टेम्पलेट में प्रस्तुत करता हूं तो यह न्यूलाइन कैरेक्टर नहीं दिखाता है।डेटाबेस

समस्या क्या है?

उत्तर

161

आपको याद रखना होगा कि आपके टेम्पलेट HTML बना रहे हैं। एचटीएमएल में, एक न्यूलाइन चरित्र सिर्फ एक और सफेद जगह है, इसका मतलब यह नहीं है कि निम्न पाठ को एक नई पंक्ति पर रखा जाए। एचटीएमएल में नई लाइनों को मजबूर करने के कई तरीके हैं।

आप एक <pre> टैग के साथ अपने पाठ लपेट कर सकते हैं ताकि एचटीएमएल समझ जाएगा कि यह पूर्वस्वरूपित है:

<pre>{{value}}</pre> 

आप Django फिल्टर का उपयोग कर सकते HTML में अपने सादे पाठ नई-पंक्तियों कन्वर्ट करने के लिए। linebreaks<br> टैग में एकल न्यूलाइन बदलता है, और <p> टैग में डबल न्यूलाइन बदलता है।

{{value|linebreaks}} 
{{value|linebreaksbr}} 

आप इन के साथ प्रयोग को देखने के लिए जो आप बेहतर पसंद कर सकते हैं: linebreaksbr सिर्फ <br> टैग में नई-पंक्तियों बदल जाता है।

विफल होने पर, आप अपने सादे पाठ को एचटीएमएल में परिवर्तित करने के लिए स्ट्रिंग मैनिपुलेशन का उपयोग कर सकते हैं ताकि आप बेहतर तरीके से उपयुक्त हो सकें। और यदि आप वास्तव में उन्नत होना चाहते हैं, तो आप अपना खुद का फ़िल्टर लिख सकते हैं जो आपके पसंदीदा तरीके को परिवर्तित करता है, और इसे अपने टेम्पलेट्स में उपयोग करें।

+2

https://docs.djangoproject.com/en/dev/ref/templates/builtins/#linebreaks – Wtower

14

सुनिश्चित नहीं है कि मैं आपके प्रश्न को पूरी तरह से समझता हूं, लेकिन लाइनब्रेक्स फ़िल्टर का उपयोग करने का प्रयास करें।

{{ value|linebreaks }}