Как установить атрибуты поля в цикле jinja 2 - PullRequest
0 голосов
/ 25 июня 2019

Привет, я новичок в программировании, и мне нужна ваша помощь.У меня есть список полей с плавающими полями, где каждое из них должно отображать свое значение по умолчанию.

Я хочу изменить атрибут по умолчанию, повторяя его в моем шаблоне, но он не работает.


<div class="form-group">
            {% for entry in form.pde_parameters %}
            {% set entry.default=pde_parameter_value_list[loop.index0]%}
            {{ pde_parameter_list[loop.index0] }}
            {{ entry.hidden_tag() }}
            {{ render_field(entry.parameter_value) }}
            {% endfor %}


        </div>

class NewModelParameterMaskForm(FlaskForm):
    parameter_value = FloatField("")


class Solution(FlaskForm):
    pde_parameters = FieldList(FormField(NewModelParameterMaskForm), min_entries=1)
    sde_parameters = FieldList(FormField(NewModelParameterMaskForm), min_entries=1)

Я получаю это сообщение об ошибке: jinja2.exceptions.TemplateRuntimeError: невозможно присвоить атрибут объекту, не являющемуся пространством имен

1 Ответ

0 голосов
/ 02 июля 2019

Вам нужно заполнить форму до того, как вы передадите ее Jinja, а не внутри вашего шаблона.

def show_solution():
    form = Solution(request.form)

    if form.validate_on_submit():
        # Use form values
        return redirect(url_for('done'))

    for s in solutions(): # Fetch your solutions from somewhere
        form.pde_paramaters.append_entry({'parameter_value': s.float_value})

    return render_template('solution.html', form=form)
...