2011-09-18 16 views
18

पर आधारित टैग मैं वर्तमान यूआरएल मूल्य के आधार पर एक टैग करने में सक्षम होना चाहता हूं।Django टेम्पलेट, यदि वर्तमान यूआरएल मूल्य

उदाहरण के लिए

, वर्तमान पृष्ठ का यूआरएल तो accounts/login/ है अगर एक लिंक दिखाई नहीं देते हैं, देखने से एक चर गुजर बिना।

मुझे यकीन है कि कैसे मैं इस के लिए एक {% if %} टैग लिख सकते हैं नहीं कर रहा हूँ यह संभव है?

{% if request.get_full_path == "/account/login/" %} 
+0

संभावित डुप्लिकेट: http://stackoverflow.com/questions/2882490/get-the-current-url-within-a-django- टेम्पलेट – arie

उत्तर

19

आप अपने टेम्पलेट के लिए "अनुरोध" वस्तु पार कर लेते हैं, तो आप इस का उपयोग करने में सक्षम हैं

{% url 'show_user_page' user=user as the_url %} 
{% if request.get_full_path == the_url %}something{% endif %} 

जहाँ आपके urls.py में कुछ ऐसा है:

(r'^myapp/user/(?P<user>\d+)/$', 'show_user_page'), 

मुझे यह पता है क्योंकि मैंने बस एक स्टैक ओवरफ्लो ड्राफ्टिंग की उम्र बिताई सवाल, जब मुझे दस्तावेज़ों में the answer मिला।

मैं सामान्य मामलों में भी कहूंगा कि यह बेहतर दृष्टिकोण हो सकता है, क्योंकि यह अधिक कमजोर युग्मित है।

+0

इसमें एक बहुत छोटा टाइपो है जिसे मैं अपडेट नहीं कर सकता संपादित करें। तुलना के लिए आपको == not = का उपयोग करने की आवश्यकता है। –

36

तुम भी का उपयोग कर गतिशील यूआरएल के लिए ऐसा कर सकते हैं:

+0

Woooow। 'जैसा' मेरा दिन बना दिया। टैग के माध्यम से एकाधिक पृष्ठों पर एक ही स्निपेट का उपयोग करके, और किस पृष्ठ पर निर्भर करता है, अलग-अलग लिंक प्रदर्शित करने के लिए एक तरीका चाहिए। अनमोल दृष्टिकोण! – Rexford

संबंधित मुद्दे