【发布时间】: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 吗?只会出现一个接一个的错误