使用django做项目问题之追加导包路径

发生背景:

项目中包含多个模块,所以想单独创建一个apps包专门管理各模块,其中有一个模块是用户模块,所以要使用django认证的用户模型类,但是要继承django的用户模型类,并添加自己想要的字段

1.在项目中创建apps包,并在apps包中创建第一个应用user,在user应用的models中创建自己的模型类,继承自django的AbstractUser,并在类中添加自己想要的字段

2,由于继承了django的用户模型类并自定义了自己的用户模型类,但是django的认证系统并不知道我们自己实现了用户模型类,所以要想使django使用我们自己定义的用户模型类,所以要在配置文件中添加一处配置:

AUTH_USER_MODEL = "user.User",即告诉django认证系统不再去使用自身的用户模型类,而是使用自定义的user模块中的User类去认证

3, 到配置文件中去注册应用,以便可以去迁移

4,由于自己创建了apps包,并且自己实现了用户模型类User,这就导致了在注册模型类时只能使用'user.apps.UserConfig',但是导包路径并找不到apps,所以不能找到此应用,因此要在导包路径中追加一个导包路径,那么就要使用sys模块:

import sys

sys.payh.insert(0,os.path.join(BASE_DIR,"apps"))

添加上述两句到配置文件中即可

5,现在去迁移才可以

你可能感兴趣的:(使用django做项目问题之追加导包路径)