小编fen*_*fen的帖子

Django模板关键字`choice_value`在1.11中不再起作用

模板中有一个复选框,如果值包含在渲染中,默认情况下将选中该选项.它适用于1.10.

form.py:

class NewForm(forms.Form):
    project = forms.ModelMultipleChoiceField(
        widget=forms.CheckboxSelectMultiple, 
        queryset=Project.objects.filter(enable=True)
    )
Run Code Online (Sandbox Code Playgroud)

模板:

{% for p in form.project %}
<label for="{{ p.id_for_label }}">
    <input type="checkbox" name="{{ p.name }}" id="{{ p.id_for_label }}"
        value="{{ p.choice_value }}"
        {% if p.choice_value|add:"0" in form.project.initial %} checked{% endif %}>
    <p>{{ p.choice_label }}</p>
</label>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

views.py:

def order_start(request, order_id):
    if request.method == 'POST':
        form = NewForm(request.POST)
        if form.is_valid():
            order.end_time = timezone.now()
            order.save()
            order.project = form.cleaned_data['project']
            order.save()
            return HttpResponsec(order.id)
    else:
        form = NewForm(initial={
            'project': [p.pk for p in …
Run Code Online (Sandbox Code Playgroud)

python django django-1.11

11
推荐指数
1
解决办法
834
查看次数

标签 统计

django ×1

django-1.11 ×1

python ×1