【问题标题】:django dynamic add form fieldsdjango动态添加表单字段
【发布时间】:2014-12-18 15:59:29
【问题描述】:

基于this我想写一个动态模板,我可以动态添加选择宽度的表单。

型号:

class TodoList(models.Model):
    SEC = 'section'
    DIV = 'div'
    SECCHOICES = (
        (SEC, "Section"),
        (DIV, "Div"),
    )
    tag = models.CharField(max_length=20, choices=SECCHOICES, default=SEC)

    def __unicode__(self):
        return self.name


class TodoItem(models.Model):
    COL16 = '16'
    COL25 = '25'
    COL33 = '33'
    COL50 = '50'
    COL66 = '66'
    COL75 = '75'
    COL100 = '100'
    CHOICES = (
        (COL16, "16%"),
        (COL25, "25%"),
        (COL33, "33%"),
        (COL50, "50%"),
        (COL66, "66%"),
        (COL75, "75%"),
        (COL100, "100%"),
    )
    width = models.CharField(max_length=3, choices=CHOICES, default=COL100)
    list = models.ForeignKey(TodoList)

    def __unicode__(self):
        return self.name + " (" + str(self.list) + ")"

查看:

def post_list(request):
    posts = TodoItem.objects.order_by('id')
    return render(request, 'blog/post_list.html', {'posts': posts})

模板:

{% for post in posts %}
    <{{ post.list.tag }}>
        <div class="column{{ post.width }}" >
        </div>
    </{{ post.list.tag }}>
{% endfor %}

输出是:

部分:col,部分:col,部分:col,部分:col

我希望:

部分:col,col,col,col

对任何想法都很满意,如果有些东西太愚蠢了,我很抱歉——我对 django/python 很陌生

【问题讨论】:

  • 你签出the django-dynamic-formset包了吗?
  • 还没有我会经历它!
  • 肯定是我的错,但无法安装它……它适用于 django 1.7.1 吗?只会出现一个接一个的错误

标签: django forms dynamic


【解决方案1】:

你只能这样做吗?

<{{ post.list.tag }}>
{% for post in posts %}
   <div class="column{{ post.width }}" >
   </div>
{% endfor %}
</{{ post.list.tag }}>

【讨论】:

    猜你喜欢
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 2016-07-19
    • 2012-03-01
    • 2014-08-05
    相关资源
    最近更新 更多