سؤال

أنا فقط تعرف نفسي على قارورة، Wtforms (و Flask-WTF).أشعر وكأنني أفتقد شيئا.

وفقا ل wtforms docs "حقل النموذج الخاص بك يمكن أن يكون HTMLولدت لك، لكننا نسمح لك بتخصيصها في قوالبك. يتيح لك ذلك الحفاظ على الفصل بين التعليمات البرمجية والعرض، والحفاظ على تلك المعلمات الفوضوية من رمز بيثون الخاص بك. "

الطريقة المقترحة لنمذجة مدخلات راديو HTML هي:

giveacodicetagpre.

.... والطريقة المقترحة لتغطية المدخلات راديو HTML هي:

giveacodicetagpre.

مع هذا النهج، ليست خاصية الخيارات "التي هي سلسلة من أزواج (القيمة، التسمية)" خلط العرض التقديمي مع النماذج؟

هي وسيلة لتحريك الملصق إلى القالب ومطابقته مع القيمة؟

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

المحلول

سؤال مثير للاهتمام. إذا نفكر من حيث نمط MVC، أعتقد أن قائمة الخيارات التي تنتمي إلى القائمة المنسدلة تنتمي إلى النموذج، وليس في طريقة العرض. لذلك لن أواجه هذه الخيارات التي يحددها المصمم في القالب. أعتقد أننا نتفق على هذا، أليس كذلك؟

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

كما ذكرت في سؤالك، يحتوي كل خيار على اسم داخلي واسم عرض. وبما أننا نتحدث عن سلاسل العرض، فلن ننسى أن عنوان GuardAcodicetAchode لحقلك يقع في نفس فئة سلاسل العرض. يجب أن تكون هذه السلاسل مسؤولية مصمم القالب؟ لا أعرف، هذه منطقة رمادية بين النموذج والعرض، وأعتقد أن المصمم يجب أن يكون لديه سلطة حول كيفية نظرة الأشياء، ولكن ليس على المحتوى.

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

نصائح أخرى

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

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

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

في forms.py:

giveacodicetagpre.

ثم قمت بإنشاء ملف في مجلد القوالب يسمى الثوابت. F

giveacodicetagpre.

آمل أن يساعد (ويعمل)

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