在网上搜了一下扩展django user表或者使用邮箱登陆的方案
扩展user表使用的是使用AUTH_PROFILE_MODULE 使用邮箱登陆就是把username当做email用 然后在登陆表单做手脚
然后都觉得不爽 就重新实现了一个user model 但不知道有没有更简单的方法
我在models.py里 COPY了一下 django.contrib.auth.models 里的 AbstractUser 然后修改 USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['username']
这样就可以使用email进行登陆了
然后在models.py里定义了一个 User Model 继承AbstractUser 然后在里面就可以扩展自己需要的字段
最后在settings.py里加上 AUTH_USER_MODEL = 'myapp.User'就可以了