【问题标题】:Django: Display first_name and last_nameDjango:显示名字和姓氏
【发布时间】:2016-04-28 05:40:19
【问题描述】:

我正在尝试创建一个应用程序,人们可以在其中登录、执行操作并查看他们的个人信息,例如他们的名字、姓氏、电子邮件、用户名等。到目前为止,我的应用程序显示了他们的用户名和电子邮件,但是不是名字或姓氏。

如果我进入管理站点并在“用户”下查看,它只显示用户的用户名和电子邮件,而不显示名字或姓氏。所以这很可能是问题所在,但我不知道如何让这些信息“保存”。

这是我的“学生”模型:

class Student(models.Model):
    user = models.OneToOneField(User)
    first_name = models.CharField(max_length=200, null=True)
    last_name = models.CharField(max_length=200, null=True)
    email = models.CharField(max_length=200, null=True)

编辑:我创建了一个包含所有这些信息的学生管理员。这是它的样子:

class StudentAdmin(admin.ModelAdmin):
    list_display = ('username', 'email', 'first_name', 'last_name')
    inlines = StudentInline

如果我手动添加用户的名字和姓氏,它会完美运行。但即使在此更改之后,它也不会添加它们。

【问题讨论】:

标签: python django


【解决方案1】:

我建议为此查看管理站点部分以及称为 list_display 的部分。 https://docs.djangoproject.com/en/1.9/ref/contrib/admin/

我在最近的一个应用中如何做到这一点是 list_display 部分,它只显示我想在下拉列表中看到的应用区域。

@admin.register(Surah)
class SurahAdmin(admin.ModelAdmin):
    # Note: Admin Interface to maintain Surah Information
    list_display  = [ '__str__', 'lk' ] # Show the List of every Surah
    list_filter   = [ 'nm' ]            # The Side box for filters
    search_fields = [ 'nm' ]            # A Search field
    ordering      = [ 'id' ]            # How you want to order it

    # Note: Additional Inline Information 
    inlines = [ AyahsInline ]          # Look to inline, mainly for One 
                                       # to many relationship

【讨论】:

    【解决方案2】:

    如果您需要显示 Student 模型,您需要将它们添加到 admin.py 文件中的 list_display 以显示这样的屏幕。

    但似乎您在管理员中点击的是用户而不是学生。

    【讨论】:

      猜你喜欢
      • 2018-04-30
      • 1970-01-01
      • 2016-02-22
      • 2012-02-19
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2019-01-06
      相关资源
      最近更新 更多