我有一个模型法术
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。有没有人知道我做错了什么或遗漏了什么?
答案 0 :(得分:1)
我已将您的代码复制并粘贴到Django 1.9.6项目中,它的工作原理正如文档所述。三个字段verbal
,somatic
和material
出现在同一行。
Django通过div
和class="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选中,因此从未用于渲染。