أفضل الثعبان النموذجيه المكتبة لتسهيل رمز جيل [مغلقة]

StackOverflow https://stackoverflow.com/questions/612788

سؤال

بدلا من الإنفاق في اليوم التالي (أو السنة) القراءة عن كل منهم ، هل هناك أي اقتراحات النموذجيه المحركات التي يجب أن ننظر في مزيد من التفاصيل ؟

هل كانت مفيدة؟

المحلول

وأفضل اقتراح: محاولة كل منهم. انها لن تستغرق وقتا طويلا.

والمفضلة: Jinja2 (وبميل)

ولديها تركيب لائق، ويمكن تتبع الأخطاء من خلال ذلك، وغير sandboxable.

نصائح أخرى

إذا كنت تفعل رمز جيل، قد تجد الترس مفيدة - انها على وجه التحديد لتوليد كود ، بدلا من أن تكون لغة النموذجيه المطبقة عموما.

الشاغل الأهم هو ما إذا كنت يمكن أن يعيش مع جملة قوالب تتطلب.الثانية و الثالثة (اعتمادا على التطبيق الخاص بك يحتاج) تكون سرعة و سهولة توزيع.

بحثت في كل منهم ، ولكن بناء جملة فقط لا يمكن أن يقف جينجا.جينجا في الاستفادة من دعم الكثير من بيثون بنيات, لذلك فمن السهل جدا لإضافة قصاصات من وظيفة إلى قوالب حسب الحاجة ، دون ترميز خاص به.معظم ما يتطلب الكلمات في قالب النظم هو التعامل معها من قبل وحدات الماكرو في جينجا.

بالطبع, إذا كنت تبحث عن شيء سهل و سريع من الصعب الفوز على بيثون النموذجيه API في جوهر اللغة.

تحديث: يبدو طفل قد يخلفه Genshi

ولقد استعملت كيد، وهو أعتقد أن واحدا من الأنظمة القديمة. لقد وجدت لتكون صلبة جدا ومستقرة وموثوق بها. انها مستندة إلى علامات، لذلك من الجيد للعمل مع XML / HTML. انها نوع من إثارة للاهتمام في هذا القالب وظائف تتم كما سمات HTML، وليس كتل الخاصة، أي {٪ ...٪}. ومع ذلك، يمكن لبعض جوانب ذلك (وخاصة الطريقة التي تؤدي بها 'تشمل') الحصول على المزعجين جدا. كما لا يبدو أن وضعت بنشاط أو على الإطلاق بعد الآن.

ومن الجدير أن نلقي نظرة على إذا كنت تريد شيئا التي كانت موجودة لفترة من الوقت، وأصبحت مستقرة تماما. إذا كنت تريد شيئا أكثر حداثة، لقد سمعت أشياء جيدة عن كل من Genshi وجينجا.

Clearsilver لأنه يعمل مع عدة لغات مختلفة وبصرامة فصل بين البيانات وعرضها. اعتدت سابقا الفهد وعلى الرغم من انها لطيفة جدا، لم أكن أحب العمل مع ما بدا أحيانا وكأنه شكل محدود من بيثون.

إذا كنت تعمل مع X [HT] ML، أحد أنظمة النموذجيه القائم على العلامة التي يمكن أن أترككم مع القوالب بشكل جيد هو خطوة جيدة. يمكنني استخدام PXTL ، FWIW. (يمكن أن تنتج غيرها من الأشكال، ولكن إذا التركيز ليست XML أو HTML انها تريد ان لا يكون خيارا معقولا.)

ولدي كراهية شديدة لأنظمة النموذجيه التي تدعي أن "يساعدك فصل منطق الأعمال وعرض" عن طريق الحد من التعبيرات الخاصة اللغة ليتل. لا يبدو أنهم يفهمون أن هناك مثل شيء اسمه "منطق العرض"، وأنه يمكن الحصول على بعض الأحيان معقدة بما فيه الكفاية في حاجة إلى اللغة الحقيقية مثل بايثون لتشغيله. بعد أن كنت طرد منطق العرض التقديمي في التطبيق مع منطق العمل هو حتى لا فوز . تجنب!

و(النهج منفصلة مصغرة اللغة محدود التعبير جعلت بعض الشعور في JSP في 'EL'، وجافا جدا مطول مزعج لاستخدامها في مكتبة النموذجيه. ولكن لدينا بيثون! انها مثالية لكتابة التعبيرات في القوالب كما و؛ تقطيع وظيفة من وجعل المستخدم يتعلم لغة جديدة أخرى المكاسب لكم شيئا)

إذا كنت تريد خفيفة الوزن للغاية الخيار، في محاولة templete. انها فقط مثل 80 خطوط من التعليمات البرمجية في وحدة واحدة. إلقاء نظرة هنا و <لأ href = "HTTP: // davidbau.com/archives/2007/03/11/python_string_functions.html "يختلط =" نوفولو noreferrer "> هنا (نشرت في بلوق). وأعتقد أنه هو حل ذكي وتركيزا جدا، إذا الميزات هي كافية بالنسبة لك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top