كيف يمكنك تقديم حقل نموذج يدويًا بمجموعة القيمة الأولية؟

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

سؤال

أحاول تقديم حقول النموذج يدويًا حتى يتمكن زملائي المصمم من معالجة عناصر الإدخال داخل HTML بدلاً من الكفاح في مصدر Python.

بمعنى آخر. بدلاً من إعلان حقول النموذج مثل هذا ...

            {{ form.first_name }}   

.. أنا فعلا ...

            <label for="id_first_name">Your name:</label>
            <input type="text" value="{{  form.first_name.somehow_get_initial_value_here }}" name="first_name" id="id_first_name" class="blabla" maxlength="30" >
            {% if form.first_name.errors %}<span>*** {{ form.first_name.errors|join:", " }}</span>{% endif %}

المشكلة هي أنه يبدو أنه لا توجد طريقة للحصول على القيمة الأولية للحقل في الطريقة الثانية. {{form.first_name}} العبارة تجعل عنصر الإدخال بالقيمة الأولية المناسبة ولكن بطريقة ما لا يوجد شيء مثل {{form.first_name.initial_value}} الحقل عندما تريد تقديم النموذج يدويًا.

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

المحلول

هناك تذكرة طويلة الأمد للاهتمام حول هذه القضية بالذات. هناك رمز عينة لتنفيذ مرشح قالب في التعليقات التي يجب أن تفعل ما تحتاجه:

http://code.djangoproject.com/ticket/10427

نصائح أخرى

<input value="{{form.name.data|default_if_none:'my_defaut_value'}}" ... />

سيكون عليك استخدام default_if_none لأنه لن يتم تخزين القيمة الضمنية للحقل المرتبط data. مزيد من التفاصيل هنا

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