【问题标题】:Django UserProfile extensionDjango 用户配置文件扩展
【发布时间】:2012-03-11 05:52:10
【问题描述】:

我在我的模型中使用 UserProfile 方法来扩展用户。

如果我想给用户一个头衔,即“先生”和一个中间名首字母“A”,这个标准的做法是什么?

目前以原始格式输入名字和姓氏,然后向下滚动以选择标题并输入任何首字母。

是否可以合并用户和用户资料字段?

TIA

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    您可以使用以下内容创建自定义 ModelForm:

    class ProfileForm(forms.ModelForm):
        def __init__(self, *args, **kwargs):
            super(ProfileForm, self).__init__(*args, **kwargs)
            self.fields.keyOrder = ['title', 'first_name', 'middle_name', 'all other fields']
    

    如果你不想列出所有字段,你可以摆弄那个keyOrder,它只是一个列表:

    correct_order = ['title', 'first_name', 'middle_name']
    other_fields = filter(lambda f: f not in correct_order, self.fields.keyOrder)
    self.fields.keyOrder = correct_order + other_fields
    

    您也可以在管理员中使用此表单。

    【讨论】:

      猜你喜欢
      • 2015-07-08
      • 2016-07-29
      • 1970-01-01
      • 2018-01-26
      • 2012-07-22
      • 2013-06-19
      • 2011-02-19
      • 2021-12-30
      • 2017-04-26
      相关资源
      最近更新 更多