मैं Django Admin Result List से आउटपुट परिणाम कैसे बदल सकता हूँ? मैं change_result_list.html टेम्पलेट फ़ाइल में देख रहा हूं लेकिन मुझे ये मिल सकता है:
{परिणाम में आइटम के लिए%} {{आइटम}} { % Endfor%} जो कुछ ऐसा आउटपुट होगा:
& lt; tr & gt; & LT; टीडी & gt; & Lt; इनपुट प्रकार = "चेकबॉक्स" वर्ग = "क्रिया-चयन" मान = "2" नाम = "_ चयनित_action" / & gt; & Lt; / टीडी & gt; & LT; वें & gt; & Lt; a href = "1 /" & gt; लोरम इप्सम & lt; / a & gt; & Lt; / वें & gt; & Lt; / टीआर & gt; जाहिर है, वें तत्व मेरे डिजाइन को तोड़ता है क्या td
इसमें कोई भी "आसान" ऐसा करने का तरीका है, तो मुझे पहले पूछना चाहिए कि आपको बिल्कुल ऐसा क्यों करना चाहिए। मुझे नहीं लगता कि क्यों & lt; th & gt; तत्व को "स्पष्ट रूप से" अपने डिजाइन को तोड़ना चाहिए & lt; th & gt; तत्व & lt; td & gt; के समतुल्य है, सिवाय इसके कि डिफ़ॉल्ट रूप से अतिरिक्त स्टाइल होती है (आमतौर पर फ़ॉन्ट-वजन: बोल्ड; टेक्स्ट-संरेखित करें : केंद्र; )। आप अपने सीएसएस में इसके लिए खाते में सक्षम होना चाहिए।
उस ने कहा, यहाँ देखने के लिए कुछ रास्ते हैं। वें / टीडी विकल्प को django.contrib.admin.templatetags.admin_list.py के लाइन 16 9 (Django 1.2.1) पर निर्धारित किया गया है। यहाँ संदर्भ में यह प्रकट होता है की एक संक्षिप्त सारांश है:
def items_for_result (cl, परिणाम, रूप): पहले = cl.list_display में field_name के लिए: # (if not first and not) Cl.list_display_links) या field_name में cl.list_display_links: table_tag = {सही: 'वें', गलत: 'टीडी'} [प्रथम] पहले = गलत # ... उपज मार्क_साफ (यू '& lt;% s% s & gt; & lt; % (Table_tag, row_class, url, ...) अन्य: # ... उपज मार्क_साफ (यू '& lt; td%) और'% s '% s & gt; & lt; /% s & gt; & lt; /% s & gt; S & gt;% s & lt; / td & gt; '% (row_class, result_repr)) जैसा कि आप देख सकते हैं, तालिका_टैग के मान को निर्धारित करने वाले व्यवहार को बदलने का कोई स्पष्ट तरीका नहीं है, इसलिए कुछ आपके पास दिए गए विकल्प हैं:
- "आइटम_फोर_सल्ट" टेम्पलेटैटैग को परिभाषित करें जो उपरोक्त कॉल को कहते हैं और
s को उपज वाले मानों में & Lt; td & gt;s। फिर आप "change_list.html" और {% load%} को ओवरराइड कर सकते हैं "Admin_list" लोड होने के बाद टैग।- Django कोड को संपादित करें। आप बाद में इसके पश्चात पछताएंगे।
यदि आप तालिका में कोई कॉलम के साथ ठीक नहीं हैं, तो आइटम के लिए संपादन पृष्ठ पर एक लिंक होने के नाते (मैं कल्पना नहीं कर सकता कि आप ऐसा क्यों करेंगे ), आप अपने
admin.pyमें इस बदसूरत हैक का उपयोग कर सकते हैं:admin.site.register (YourModel, YourModelAdmin) admin.site._registry [YourModel] लिस्ट_डिसप्ल_लिंक = ['नॉट_ए_फील्ड_नाव',] `चूंकि व्यवस्थापक मॉडल केवल एक बार वैध हैं, जो तब होता है जब
रजिस्टर ()कहा जाता है, तो आप पंजीकृत हो सकते हैंModelAdminबाद में और उसे एक अमान्यlist_display_linksसंपत्ति दें।
Comments
Post a Comment