2016-07-15 324 views
-1

我正在尝试开发基于注册的网站。我使用了django注册redux。但我无法弄清楚如何修改它。作为默认文件中的示例,有用户名和密码,我想用电子邮件更改用户名并向其中添加其他表单。Django注册修改注册表

在此先感谢

回答

1

第1步 - 自定义用户模型:

1.1下一行添加到您的设置文件:

AUTH_USER_MODEL = 'my_accounts_app.MyUser' 

1.2不要忘记用户添加应用程序型号到INSTALLED_APPS:

INSTALLED_APPS = (
    ... 
    'my_accounts_app', 
) 

1.3编写自定义用户模型:

class MyUser(AbstractBaseUser): 

    # some fields here 

    USERNAME_FIELD = 'email' 
    REQUIRED_FIELDS = [...] 

第2步 - 自定义Django的登记表(如果需要的话):

2.1编写您自己的报名表。

2.2然后你需要使用你的表格。还有就是你可以使用2个选项:

a)您可以根据registration.views.RegistrationView编写自定义视图注册,并通过“form_class”属性视图

b)或您可以设置自定义登记表通过传递它在您的urls.py 有链接到相关的django文档Django URLconf usage

默认的注册表单是registration.forms.RegistrationForm,所以不要忘记检查它或将它用作自定义表单的父类。

+0

我做了你说的顺序,但它给错误'没有名为my_accounts_app模块'。我错过了什么吗? –

+0

您是否使用此名称创建了应用程序? –

+0

@HamlockB在将它添加到INSTALLED_APPS'python manage.py startapp my_accounts_app'之前创建应用程序。 – kapilsdv