python - Django टेम्पलेट्स: एक "बैक" लिंक बनाएं?




request referrer (4)

ठीक है आप सक्षम कर सकते हैं:

'django.core.context_processors.request',

आपकी settings.TEMPLATE_CONTEXT_PROCESSORS में। TEMPLATE_CONTEXT_PROCESSORS अवरोधित करें और रेफरर को हुक कर दें लेकिन यह थोड़ा उलझन में है और सभी जगहों को तोड़ सकता है।

ज्यादातर जगहें, जहां आप यह चाहते हैं (जैसे एसई पर पोस्ट पेज संपादित करें) आपके पास वास्तविक उद्देश्य है (उस उदाहरण में, पोस्ट) ताकि आप आसानी से काम कर सकें कि क्या पिछले पृष्ठ का सही होना चाहिए।

मैं Django के साथ आसपास टूलिंग कर रहा हूं और मैं सोच रहा हूँ कि टेम्पलेट सिस्टम का उपयोग करके पिछले पृष्ठ पर "बैक" लिंक बनाने का एक आसान तरीका है।

मैं समझता हूं कि सबसे बुरी स्थिति में मैं इस जानकारी को ऑब्जेक्ट से दृश्य समारोह में प्राप्त कर सकता हूं, और इसे टेम्पलेट रेंडरिंग विधि के साथ पास कर सकता हूं, लेकिन मुझे उम्मीद है कि मैं किसी भी तरह से यह बॉयलरप्लेट कोड से बच सकता हूं।

मैंने Django टेम्पलेट डॉक्स की जाँच की है और मैंने ऐसा कुछ भी नहीं देखा है जो स्पष्ट रूप से इसका उल्लेख करता है।


यह समाधान मेरे लिए काम किया है:

<a href="{{request.META.HTTP_REFERER}}">Go back</a>

लेकिन इससे पहले कि 'django.core.context_processors.request', प्रोजेक्ट की सेटिंग्स में 'django.core.context_processors.request', जोड़ने के लिए 'django.core.context_processors.request', जोड़ दिया गया है।


आप हमेशा ग्राहक पक्ष विकल्प का उपयोग कर सकते हैं जो बहुत सरल है:

<a href="javascript:history.go(1)">Back</a>

क्लाइंट साइड समाधान का उपयोग करना उचित समाधान होगा

<a href="javascript:history.go(-1)" class="btn btn-default">Cancel</a>




referrer