在列表中显示管理站点中的类的内容

时间:2014-02-04 10:02:38

标签: django django-models django-templates django-admin django-views

我有一个带有一些变量的类,我当然可以在管理界面中添加更改和删除。我的目标是,使管理界面现在更加用户友好和更明显。我想以列表的形式在页面上显示变量的内容,例如。当我为其他东西编写我的视图和模板时,我只是为我的模板渲染了一个字典,用for标签迭代它并显示数据就像这样:

{% for _name in name %}
<li>{{ name }}</li>
{% endfor %}

我的应用程序的用户将使用admin inerface,我想让它更好地了解用户。我已经在我的项目中获得了模板和样式表,在一个单独的模板和静态目录中。

编辑: 我的班级

class completedTask(models.Model):
        trainee = models.ForeignKey(trainee, verbose_name = "Azubi")
        learningObjectivecompletedTask = models.ManyToManyField(learningObjective, verbose_name = "Lernziel")
        date = models.DateField(verbose_name = 'Datum',blank=True)
        duration = models.TimeField(verbose_name = 'Dauer')
        documentationReference = models.TextField(verbose_name = 'Dokumentationsverweis')
        educationDepartment = models.TextField(verbose_name = 'Ausbildungsabteilung')
        class Meta:
                verbose_name = "Ausgeführte Tätigkeit"
                verbose_name_plural = "Ausgeführte Tätigkeiten"

编辑我的admin.py看起来像这样:

class completedTasks(admin.ModelAdmin):
        def get_form(self, request, obj=None, **kwargs):
                self.exclude = []
                if "Azubi" in request.user.groups.values_list("name", flat=True):
                        self.exclude.append('trainee')
                return super(completedTasks, self).get_form(request, obj, **kwargs)

admin.site.register(completedTask, completedTasks)

我想以管理页面中的列表形式显示每个受训者。

1 个答案:

答案 0 :(得分:1)

如果您正在使用内置的Django管理员,则可以使用/admin/myapp/mymodel/的{​​{3}}选项在列表视图(即ModelAdmin)上显示更多信息

例如,在以下列表视图(auth.User模型)中,您可以看到额外的信息(电子邮件,名字,姓氏,员工......):

enter image description here

在您的情况下,在admin.py

class TraineeAdmin(admin.ModelAdmin):
    list_display = ['firstName', 'lastName', 'educationBeginning', 'comment',]

admin.site.register(Trainee, TraineeAdmin)