/ / Django टेम्पलेट्स के साथ पठनीय HTML बनाना - अजगर, html, django, टेम्पलेट

Django टेम्पलेट के साथ पठनीय html बनाना - python, html, django, टेम्पलेट्स

जब html के लिए Django का उपयोग करते हुए मैं कैसे अच्छे html मार्कअप स्वरूपण का निर्माण करता हूं।

मैं कंटेंट ब्लॉक का उपयोग करने की कोशिश कर रहा हूं। लेकिन कंटेंट ब्लॉक अलग-अलग टेम्पलेट्स में इंडेंटेशन के विभिन्न स्तरों पर दिखाई देते हैं। मुझे कंटेंट ब्लॉक कैसे प्राप्त करने के लिए इंडेंट दिखाना है जैसे कि किसी को html लिखना होगा।

मुझे नई कहानियों के साथ भी यही समस्या है; मैं सभी ब्लॉकों को एक साथ टेम्पलेट में तोड़ सकता हूं। उस बिंदु पर एचटीएमएल बेहतर दिखता है, लेकिन टेम्पलेट अचूक हैं।

मुझे लगता है कि सवाल है कि आप django templating प्रणाली के साथ सुंदर html मार्कअप कैसे बना सकते हैं?

अब तक के जवाबों से हैरान हूं। मुझे लगता है कि इसी सीएसएस और जावास्क्रिप्ट लिखने में अच्छी तरह से स्वरूपित HTML एड्स। साथ ही सामग्री को बाद में जोड़ना आसान बनाता है।

उत्तर:

उत्तर № 1 के लिए 14

पीवोल्व से क्रिश्चियन एस पेरोन है बिल्कुल वही जो आप ढूंढ रहे हैं। वह HTTPResponse ऑब्जेक्ट को इंटरसेप्ट करने और इसे चलाने के लिए मिडलवेयर का उपयोग करता है BeautifulSoup.

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


जवाब के लिए 3 № 2

जैसा कि मैंने किया है NodeList की रेंडर विधि को आप ओवरराइड कर सकते हैं। मेरा प्रश्न कार्य कोड के साथ देखें:

Django टेम्प्लेट (बंदर-पैचिंग के बिना) में उचित इंडेंटेशन?


उत्तर № 3 के लिए 1

HTML की पठनीयता t "की बात नहीं है। Django या रेल जैसी प्रणाली में, HTML एक आउटपुट स्वरूप है, न कि स्रोत प्रारूप। जब लोग हाथ से HTML संपादित करते हैं, तो उन्हें इंडेंटेशन और रिक्ति के बारे में चिंतित होना सही होता है, क्योंकि यह एक स्रोत प्रारूप है, और किसी को भविष्य में इसे संपादित करना होगा। लेकिन टेम्पलेट्स का आउटपुट सिर्फ इतना है: आउटपुट। ब्राउज़र इंडेंटेशन की परवाह नहीं करता है। इस बिंदु पर केवल HTML पढ़ने वाले लोग ही व्यू - सोर्स देख रहे हैं।


जवाब के लिए 0 № 4

मैं आपको परिणामी html के बारे में प्रभावित करता हूँ - मुझे केवल टेम्प्लेट्स को सुव्यवस्थित और पठनीय होने की चिंता है! लेकिन आपके प्रश्न के उत्तर में, क्या आपने मिडलवेयर को देखा है?

http://docs.djangoproject.com/en/dev/topics/http/middleware/

तब HTML को पुन: स्वरूपित करने के लिए साफ अजगर मॉड्यूल का उपयोग करें।

http://pypi.python.org/pypi/PythonTidy/


जवाब के लिए 0 № 5

मैं HTML tidier के माध्यम से टेम्पलेट इंजन के आउटपुट को चलाने की सलाह देता हूं, जैसे कि μTidylib.


जवाब के लिए 0 № 6

यदि आप लंबे-लेकिन-सरल तारों के स्ट्रिंग-स्वरूपण करने के लिए Django टेम्प्लेट का उपयोग कर रहे हैं, तो आप एक फ़ंक्शन डीफ़ल में () के साथ पायथन के ट्रिपल-उद्धृत स्ट्रिंग्स का उपयोग कर सकते हैं:

def templated_string(context_dict):
return """This is an example
of a long string across multiple lines.
It can be used to format {something} for
{name}"s own purposes, even though
it looks funny in code""".format(**context_dict)

फिर templated_string({"name": "rileymat", "something": "whatever you want"}) समझदार काम करता है। आप कच्चे एचटीएमएल को इस तरह से बना सकते हैं ... जिसके बाद आपके पास व्हाट्सएप है।