Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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
Python 如何通过表单向模板显示模型对象?_Python_Django_Django Models_Django Forms_Django Templates - Fatal编程技术网

Python 如何通过表单向模板显示模型对象?

Python 如何通过表单向模板显示模型对象?,python,django,django-models,django-forms,django-templates,Python,Django,Django Models,Django Forms,Django Templates,在我的模型中有一个复杂的结构,我不知道如何将外键链接到同一模板上的多对多字段 一旦看到models.py就更容易解释了: class Font(models.Model): font_name = models.CharField(max_length=100) ... class Background(models.Model): bk_color = models.CharField(max_length=20, blank=True) ... clas

在我的模型中有一个复杂的结构,我不知道如何将外键链接到同一模板上的多对多字段

一旦看到models.py就更容易解释了:

class Font(models.Model):
    font_name = models.CharField(max_length=100)
    ...

class Background(models.Model):
    bk_color = models.CharField(max_length=20, blank=True)
    ...


class FormOne(models.Model):
    name = models.CharField(max_length=40)
    background = models.ForeignKey(Background, blank=True, null=True)
    checkbox = models.ManyToManyField(Font, blank=True)
    ...
我想对每个
字体项执行以下操作
从外键添加背景色(
bk_color
)。这里是棘手的部分,这应该在表格上完成。用户无法选择其背景,管理员只能通过无线电选择来定义背景

因此,我希望它的形式,以显示我像这样的背景颜色对每个项目

标题:____________

复选框:

[X]字体名称1-#333
class CustomChoiceField(forms.ModelMultipleChoiceField):
    def label_from_instance(self, obj):
        return mark_safe('<p class="checkbox-choice" style="%s">%s</p>' % (obj.font_family, obj.font_name))


class FormOneForm(forms.ModelForm):
    checkbox = CustomChoiceField(widget=forms.CheckboxSelectMultiple, queryset=Font.objects.all())
    background = forms.ModelChoiceFied(widget=forms.RadioSelect, queryset=Background.objects.all(), required=False)

    class Meta:
        model = FormOne
        fields = ['name']
<form action="{% url 'multistepform.views.step1' %}" method="post" enctype='multipart/form-data'>
{% csrf_token %}
...

<div class="checkbox-choice" style="background: ! BACKGROUND COLOR HERE ! ;">
{% for fcheck in form.background %}
    <div class="checkbox_id col-lg-3">{{ fcheck }}</div>
{% endfor %}
</div>

<input id="step1" type="submit" value="Submit" autocomplete="off" />
</form>