Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django-更改表单的结构,使输入脱离标签_Django_Forms_Django Templates - Fatal编程技术网

django-更改表单的结构,使输入脱离标签

django-更改表单的结构,使输入脱离标签,django,forms,django-templates,Django,Forms,Django Templates,我们怎样才能改变表单的结构,使输入脱离标签 当“我的表单渲染”将显示如下所示: <p> <label for="id_form-0-food_name_0"><input checked="checked" id="id_form-0-food_name_0" name="form-0-food_name" value="" type="radio"> (Nothing)</label> <label for="id_form-0-food_

我们怎样才能改变表单的结构,使输入脱离标签 当“我的表单渲染”将显示如下所示:

<p>
<label for="id_form-0-food_name_0"><input checked="checked" id="id_form-0-food_name_0" name="form-0-food_name" value="" type="radio"> (Nothing)</label>
<label for="id_form-0-food_name_1"><input id="id_form-0-food_name_1" name="form-0-food_name" value="1" type="radio"> خوراک مرغ</label>
<label for="id_form-0-food_name_2"><input id="id_form-0-food_name_2" name="form-0-food_name" value="2" type="radio"> خوراک لوبیا</label>
<label for="id_form-0-food_name_3"><input id="id_form-0-food_name_3" name="form-0-food_name" value="3" type="radio"> فسنجون</label>
</p>
<p>
<input checked="checked" id="id_form-0-food_name_0" name="form-0-food_name" value="" type="radio"><label for="id_form-0-food_name_0"> (Nothing)</label>
<input id="id_form-0-food_name_1" name="form-0-food_name" value="1" type="radio"><label for="id_form-0-food_name_1"> خوراک مرغ</label>
<input id="id_form-0-food_name_2" name="form-0-food_name" value="2" type="radio"><label for="id_form-0-food_name_2"> خوراک لوبیا</label>
<input id="id_form-0-food_name_3" name="form-0-food_name" value="3" type="radio"><label for="id_form-0-food_name_3"> فسنجون</label>
</p>
我的
forms.py:

class Reserve(ModelForm):
    food_name = forms.ModelChoiceField(
        queryset=Food.objects.all(), 
        widget=forms.RadioSelect(renderer=RadioFieldWithoutULRenderer), 
        empty_label="(Nothing)",
        # label=''
        )
    class Meta:
        model = Reservation
        fields = ('food_name',)
form.html

<form method="post">
{% csrf_token %}

{% for form in formset %}

<p>
  <input name="group1" type="radio" id="test1" value="" />
  {{ form.food_name  }}
</p>

{% endfor %}

<button type="submit" class="btn btn-default">Submit</button>

{%csrf_令牌%}
{formset%中表单的%s}

{{form.food_name}

{%endfor%} 提交

您可以使用自定义模板创建自己的小部件:

  • 在templates文件夹中创建模板文件(例如my_project/my_app/templates/my_app/widgets/radio_option.html):
  • 使用
    MyRadioSelect
    而不是
    RadioSelect
  • 您可以使用自定义模板创建自己的小部件:

  • 在templates文件夹中创建模板文件(例如my_project/my_app/templates/my_app/widgets/radio_option.html):
  • 使用
    MyRadioSelect
    而不是
    RadioSelect
  • 相关:-相信我,很难控制标签的哪一面。要么保持原样,要么使用像django angular这样已经完成了相关工作的工具:-相信我,要控制标签的哪一面是非常困难的。要么保持原样,要么使用像django angular这样已经完成了艰苦工作的工具
    {% include "django/forms/widgets/input.html" %}{% if widget.wrap_label %}<label{% if widget.attrs.id %} for="{{ widget.attrs.id }}"{% endif %}>{{ widget.label }}</label>{% endif %}
    
    class MyRadioSelect(django.forms.RadioSelect):
        option_template_name = "my_app/widgets/radio_option.html"