【问题标题】:Can you automatically display model choices in a template?您可以在模板中自动显示模型选择吗?
【发布时间】:2011-09-06 17:38:50
【问题描述】:

我是 django 菜鸟,我有一个 django 项目,其模型设置如下:

class community(models.Model):
    DIRECTION_CHOICES = (
        (u'N', u'North'),
        (u'S', u'South'),
        (u'E', u'East'),
        (u'W', u'West'),
        (u'C', u'City'),
    )
    name = models.CharField(max_length=100)
    direction = models.CharField(max_length = 1, choices=DIRECTION_CHOICES)
    def __unicode__(self):
        return self.name
    class Meta:
        verbose_name = "Community"
        verbose_name_plural = "Communities"

我想添加一个模板页面,该页面仅将选项链接显示为向下钻取类型的菜单,例如:

 ***Communities***
 * North 
 * South 
 * East 
 * West 
 * City

当您单击一个时,您会看到该区域的社区列表。

有什么办法吗

 {% for area in choices %}
     {{ area.name }}
 {% endfor %}

??

【问题讨论】:

    标签: django django-models django-templates


    【解决方案1】:

    如何将其添加到表单类中并显示选项,如下所示: https://docs.djangoproject.com/en/dev/ref/forms/fields/#choicefield

    或者,您可以在视图中返回选项,如下所示:

    def main(request):
     from app.models.community import DIRECTION_CHOICES
    
     return render_to_response('my_template.html',
                          {'choices':DIRECTION_CHOICES},
                          context_instance=RequestContext(request))
    

    在你的模板中:

    <select name="direction">
            {% for k,v in choices %}
                <option value="{{ k }}"/>{{ v }}
            {% endfor %}
    </select>
    

    【讨论】:

    • 但我不想要一个表单,我只想要一个向下钻取样式的链接菜单。我已经编辑了我的问题以反映这一点。
    • 所以你可以使用我的第二种方法!
    猜你喜欢
    • 2018-10-19
    • 2018-09-30
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多