我不能让django fieldsets工作正常

时间:2016-05-20 19:49:11

标签: django django-admin

我有一个模型法术

class Spell(models.Model):
    name = models.CharField(max_length=255, unique=True)
    spell_type = models.CharField(max_length=1, choices=CHOICES)
    spell_level = models.IntegerField()
    casting_time = models.CharField(max_length=255)
    casting_range = models.CharField(max_length=255)
    verbal = models.BooleanField(default=True)
    somatic = models.BooleanField(default=False)
    material = models.CharField(max_length=255, blank=True, null=True)
    duration = models.CharField(max_length=255)
    classes = models.ManyToManyField('PlayerClass', related_name='spells', blank=True)
    description = HTMLField()

我把这个管理类放在我的admin.py

class SpellAdmin(admin.ModelAdmin):
    fields = ('name', 'spell_type', 'casting_time', 'casting_range', 
             ('verbal', 'somatic', 'material'), 
             'duration', 'classes', 'description')

但口头,体细胞和素材不会出现在管理员添加或更改表单的同一行。据我所知,我已经设置了所有内容like the docs say。我正在使用django 1.9.6。有没有人知道我做错了什么或遗漏了什么?

1 个答案:

答案 0 :(得分:1)

我已将您的代码复制并粘贴到Django 1.9.6项目中,它的工作原理正如文档所述。三个字段verbalsomaticmaterial出现在同一行。

Django通过divclass="form-row field-verbal field-somatic field-material"添加div并使用class="field-box field-verbal"添加<div class="form-row field-verbal field-somatic field-material"> <div class="field-box field-verbal"> <input checked="checked" id="id_verbal" name="verbal" type="checkbox"><label class="vCheckboxLabel" for="id_verbal">Verbal</label> </div> <div class="field-box field-somatic"> <input id="id_somatic" name="somatic" type="checkbox"><label class="vCheckboxLabel inline" for="id_somatic">Somatic</label> </div> <div class="field-box field-material"> <label class="inline" for="id_material">Material:</label> <input class="vTextField" id="id_material" maxlength="255" name="material" type="text"> </div> </div> 。它看起来如下:

admin.py

即使我缩小了浏览器窗口,这也会产生正确的行为。

我怀疑您添加了admin.site.register(models.Spell)

admin.site.register(models.Spell, SpellAdmin)

而不是

ModelAdmin

你的myTeamID = 26691960, enemyPlayerID = 104从未被Django选中,因此从未用于渲染。