2012-08-16 19 views
11

पिरामिड ढांचे में, route_path और route_url फ़ंक्शन रूट कॉन्फ़िगरेशन से यूआरएल उत्पन्न करने के लिए उपयोग किए जाते हैं। तो, अगर मैं मार्ग है:अतिरिक्त क्वेरी तर्कों के साथ पिरामिड रूट_यूआरएल

:

config.add_route('idea', 'ideas/{idea}') 

मैं इसे

request.route_url('idea', idea="great"); 

का उपयोग कर लेकिन, कभी कभी मैं की तरह यूआरएल उत्पन्न करने के लिए अतिरिक्त प्राप्त पैरामीटर जोड़ने के लिए चाहते हो सकता है के लिए यूआरएल उत्पन्न करने में सक्षम हूँ

idea/great?sort=asc 

यह कैसे करें?

मैं

request.route_url('idea', idea='great', sort='asc') 

की कोशिश की है लेकिन यह काम नहीं किया।

उत्तर

26

आप _query शब्दकोश

request.route_url('idea', idea='great', _query={'sort':'asc'}) 
+1

यदि आप अपने स्वयं के प्रश्न का उत्तर दे रहे हैं तो आपको इसे स्वीकार करने का कोई बहाना नहीं है ;-) –

5

गुजर आप मैको टेम्पलेट का उपयोग कर रहे हैं, तो _query={...} काम नहीं करेगा URL में अतिरिक्त क्वेरी तर्कों जोड़ सकते हैं; इसके बजाय आपको यह करने की ज़रूरत है:

${request.route_url('idea', idea='great', _query=(('sort', 'asc'),))} 

2-टुपल्स का टुपल शब्दकोश के रूप में काम करता है।

+0

मैं मको और _query {...} का उपयोग कर रहा हूं, ठीक है, शायद आप हमें बता सकते हैं कि यह क्यों काम नहीं करेगा ? – CrackSmoker9000

+0

@ एसएसआईग्नाट्जस्चोनबोर्न: क्या आपने '' {{{'' '{{{' '' '{{' '' '{{' '' '{{' '' '{{' '' '{{' '' '{{' '' '{{' '' '{{' 'है ऐसा लगता है कि मको टेम्पलेट नेस्टेड ब्रेसिज़ नहीं करेंगे। शायद एक नए संस्करण ने इसका उपचार किया है? यदि आवश्यक हो तो मैं एक रेपो की कोशिश कर सकता हूं, हालांकि मैंने थोड़ी देर में माको को छुआ नहीं है। – labreuer

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