मेरे पास कुछ मैक्रोज़ परिभाषित हैं जिन्हें कई टेम्पलेट्स से बुलाया जाता है।एक दृश्य से Jinja2 मैक्रो प्रस्तुत करने के लिए कैसे?
उदाहरण के लिए, उत्पाद पृष्ठ में एक समीक्षा अनुभाग है जो प्रत्येक समीक्षा को मुद्रित करने के लिए 'helpers/review.jinja2'
में परिभाषित मैक्रोज का उपयोग करता है। 'helpers/review.jinja2'
फ़ाइल इस दो मैक्रो है:
{% macro render_review(request,review) -%}
{% macro render_review_comment(request,comment) -%}
जब कोई एक नई समीक्षा सबमिट करता है, ajax के माध्यम से, मैं आदेश की समीक्षा अनुभाग के लिए सामग्री संलग्न करने के लिए में प्रदान की गई समीक्षा लौटना चाहते।
अभी, मैं एक मध्यवर्ती टेम्पलेट 'review/review.jinja2'
है कि इस तरह दिखता है:
{% import 'helpers/review.jinja2' as review_helper %}
{{ review_helper.render_review(request,review) }}
इस टेम्पलेट देखने से प्रदान की गई है:
@view_config(route_name='review.add_review', renderer='review/review.jinja2')
def add_review(request):
return dict(review=my_new_review)
लेकिन मुझे आशा है कि वहाँ क्या करने के लिए एक बेहतर तरीका है इस। तो, क्या एक टेम्पलेट में परिभाषित मैक्रो प्रस्तुत करना संभव है?
धन्यवाद
मैं सिर्फ Jinja2 के घ के माध्यम से एक त्वरित खोज किया ओसीएस और ऐसा नहीं लगता है कि ऐसा करने का कोई तरीका है। –