Django 2.1 - Simple mixins

सरल मिश्रण




django

सरल मिश्रण

ContextMixin

class django.views.generic.base.ContextMixin

गुण

extra_context
Django 2.0 में नया:

संदर्भ में शामिल करने के लिए एक शब्दकोश। यह as_view() में कुछ सरल संदर्भ निर्दिष्ट करने का एक सुविधाजनक तरीका है। उदाहरण का उपयोग:

from django.views.generic import TemplateView
TemplateView.as_view(extra_context={'title': 'Custom Title'})

तरीके

get_context_data(**kwargs)

टेम्पलेट संदर्भ का प्रतिनिधित्व करने वाला शब्दकोश लौटाता है। प्रदान किए गए कीवर्ड तर्क लौटे हुए संदर्भ बनाएंगे। उदाहरण का उपयोग:

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['number'] = random.randrange(1, 100)
    return context

सभी वर्ग-आधारित जेनेरिक विचारों के टेम्पलेट संदर्भ में एक view चर शामिल होता है जो View इंस्टेंस को इंगित करता है।

जहाँ उपयुक्त हो, alters_data प्रयोग करें

ध्यान दें कि टेम्प्लेट के संदर्भ में दृश्य उदाहरण होने से संभावित खतरनाक तरीके टेंपलेट लेखकों के सामने आ सकते हैं। टेम्प्लेट में बुलाए जाने से इस तरह के तरीकों को रोकने के लिए, उन तरीकों पर alters_data=True सेट करें। अधिक जानकारी के लिए, टेम्प्लेट के संदर्भ को रेंडर करने पर प्रलेखन पढ़ें।

TemplateResponseMixin

class django.views.generic.base.TemplateResponseMixin

उपयुक्त संदर्भ को देखते हुए, एक TemplateResponse निर्माण के लिए एक तंत्र प्रदान करता है। उपयोग करने के लिए टेम्पलेट कॉन्फ़िगर करने योग्य है और उपवर्गों द्वारा आगे अनुकूलित किया जा सकता है।

गुण

template_name

एक स्ट्रिंग द्वारा परिभाषित के रूप में उपयोग करने के लिए एक टेम्पलेट का पूरा नाम। django.core.exceptions.ImproperlyConfigured को परिभाषित नहीं करने से django.core.exceptions.ImproperlyConfigured अपवाद django.core.exceptions.ImproperlyConfigured

template_engine

टेम्पलेट लोड करने के लिए उपयोग करने के लिए एक टेम्पलेट इंजन का NAME template_engine को answer_class के कीवर्ड तर्क के रूप में पारित किया गया है। डिफ़ॉल्ट None , जो Django को सभी कॉन्फ़िगर किए गए इंजनों में टेम्पलेट की खोज करने के लिए कहता है।

response_class

render_to_response क्लास को render_to_response विधि द्वारा लौटाया जाना है। डिफ़ॉल्ट TemplateResponse TemplateResponse उदाहरण और संदर्भ बाद के उदाहरणों को बाद में बदला जा सकता है (जैसे टेम्पलेट प्रतिक्रिया मिडलवेयर में )।

यदि आपको कस्टम टेम्प्लेट लोड करने या कस्टम संदर्भ ऑब्जेक्ट इंस्टेंशन की आवश्यकता है, तो एक TemplateResponse उप-वर्ग बनाएं और इसे response_class को असाइन करें।

content_type

प्रतिक्रिया के लिए उपयोग करने के लिए सामग्री प्रकार। content_type को content_type कीवर्ड तर्क के रूप में पारित किया जाता है। डिफ़ॉल्ट None - जिसका अर्थ है कि Django DEFAULT_CONTENT_TYPE का उपयोग करता है।

तरीके

render_to_response(context, **response_kwargs)

एक self.response_class उदाहरण देता है।

यदि कोई कीवर्ड तर्क प्रदान किया जाता है, तो उन्हें प्रतिक्रिया वर्ग के निर्माता को दिया जाएगा।

उन टेम्पलेट नामों की सूची प्राप्त करने के लिए कॉल्स get_template_names() को खोजा जाएगा, जिन्हें एक मौजूदा टेम्पलेट की तलाश में खोजा जाएगा।

get_template_names()

टेम्प्लेट रेंडर करते समय खोज करने के लिए टेम्प्लेट नामों की सूची लौटाता है। जो पहला टेम्पलेट मिला है, उसका उपयोग किया जाएगा।

यदि template_name निर्दिष्ट किया गया है, तो डिफ़ॉल्ट कार्यान्वयन template_name वाली सूची लौटाएगा (यदि यह निर्दिष्ट है)।