Django terralego 应用程序账户管理
项目描述
django-terra-accounts
Django terralego 应用程序账户管理
https://django-terra-accounts.readthedocs.io/
警告
-
从terracommon.accounts分离
-
如果您想迁移数据,请在
- 本地环境中测试
- 所有terracommon.accounts引用应替换为terra_accounts
- 所有引用'accounts'迁移的迁移文件应引用'terra_accounts'
- 备份您的实例
- 停止实例
- 更新您的django_content_type表
- UPDATE django_content_type SET app_label = 'terra_accounts' WHERE app_label = 'account';
- 更新您的django_migrations表
- 更新django_migrations表,将app设置为'terra_accounts',条件是app为'account';
- 重命名表
- ALTER TABLE accounts_terrauser RENAME TO terra_accounts_terrauser;
- ALTER TABLE accounts_readmodels RENAME TO terra_accounts_readmodel;
- 重启实例并启动迁移
- 本地环境中测试
设置
如果您不知道这个应用程序是如何工作的,建议您遵循所有说明,否则如果您只设置了其中的一半,您可能会遇到一些问题。
Django应用程序和URL
如果您计划使用用户API进行身份验证、注册等其他操作,应将terra_accounts
应用程序添加到INSTALLED_APPS中,
INSTALLED_APPS = (
[...],
'terra_accounts',
)
并将terra_accounts的URL包含到您的项目urls中,通过添加以下内容
path("", include("terra_accounts.urls")),
用户模型
要设置Terra用户模型,您应遵循标准的django程序,通过将以下内容添加到您的项目设置中
AUTH_USER_MODEL = 'terra_accounts.TerraUser'
有效载荷处理器
您还应覆盖jwt令牌的默认有效载荷处理器,设置如下
JWT_AUTH = {
'JWT_PAYLOAD_HANDLER' 'terra_accounts.jwt_payload.terra_payload_handler',
}
权限混合
如果您计划使用从django Permission类继承的权限机制,您应将权限混合添加到您的appconfig中。
以下是一个AppConfig示例
from django.apps import AppConfig
from terra_accounts.permissions_mixins import PermissionRegistrationMixin
class MyAppConfig(PermissionRegistrationMixin, AppConfig):
name = 'my_app'
permissions = (
('can_do_something', 'Is able to do something'),
('can_do_whatever', 'Is able to do whatever'),
)
权限混合覆盖了ready()
方法以注册一个信号。如果您计划覆盖此方法,请记住添加对super().ready()
的调用
启动开发实例
在test_geosource
django项目中定义您想要的设置。
docker-compose up
第一次启动应失败,因为数据库需要初始化。只需运行两次相同的命令即可。
然后初始化数据库
docker-compose run web /code/venv/bin/python3 /code/src/manage.py migrate
现在您可以编辑您的代码。Django runserver会自动启动,因此这是一个自动重新加载的服务器。
您可以通过http://localhost:8000/api/访问API
测试
要运行测试套件,只需启动
docker-compose run web /code/venv/bin/python3 /code/src/manage.py test
更改日志
1.0.7 (2021-05-07)
- 修复缺少迁移(并在CI中检查迁移)
1.0.6 (2021-05-07)
- 修复在设置中未定义disabled_module的情况
1.0.5 (2021-04-22)
- 添加管理器以过滤具有disabled_modules设置的权限(#41)
1.0.4 (2021-04-13)
- 修复从客户端推送terra_permisisions时的错误
- 过滤模块权限
1.0.3 (2020-02-16)
- 翻译权限标签
1.0.2 (2021-01-20)
- 权限不再由序列化器对TerraUser强制要求
- 组权限通过序列化器中的
permission_list
字段设置为读取操作,并通过permission
设置为写入操作
1.0.1 (2020-11-24)
- 回滚terra-settings功能
1.0.0 (2020-11-18)
-
!! 警告:破坏性更改 !!
-
更改和修复获取用户Terra模块的方式
0.5.1 (2020-11-16)
- 获取所有/用户可用功能权限的端点
0.5.0 (2020-11-03)
- 破坏性更改
- 现在已从terra-accounts设置端点移除,以支持terra-settings设置端点
- 与django-terra-settings一起使用,而不是django-terra-utils
- 请更新您的项目需求和代码以使用新的terra-settings应用程序。
- 删除过时的用户视图集/序列化器/信息端点
0.3.13 (2020-09-08)
- 正式支持Django 3.1
0.3.12 (2020-08-25)
- 使用django.db.models.JSONField而不是django.contrib.postgres.fields
- 新的DjangoModelFactory位置
0.3.11 (2020-06-24)
- 修复TERRA_APPLIANCE_SETTINGS对设置的覆盖
0.3.10 (2020-06-03)
- 将设置端点从terra_utils移动
- 从实例定义的语言提供服务
0.3.9 (2020-03-20)
- 管理重置密码视图
0.3.8 (2019-12-13)
- 更新文档
- 支持Django 3.0
- 支持DjangoRestFramework 3.11
0.3.7.1 (2019-11-26)
- 将组继承的权限包含到用户中
- 改进Terra权限创建
0.3.6 (2019-11-05)
- 添加一个方法来检查用户是否有某些Terra权限
0.3.5 (2019-11-04)
- 实现TerraPermissions
0.3.4 (2019-10-08)
- 弃用通过id查找用户(将在0.4.0中删除)
0.3.3 (2019-10-03)
功能
- 现在包含在打包中的测试工厂
0.3.2 (2019-09-27)
修复
- 组必须是DRF标准属性
0.3.1 (2019-09-26)
修复
- 修复Group序列化器(和API)中的id
0.3.0 (2019-09-25)
破坏性更改
- 应用程序名称从accounts移动到terra_accounts。结构相同,因此备份和恢复您的数据
第一个公开标签
- Terra应用程序从teracommon.accounts中提取出来
项目详细信息
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。
源代码发行版
django-terra-accounts-1.0.7.tar.gz (17.0 kB 查看哈希值)
关闭
django-terra-accounts-1.0.7.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9d0067b39bcf90023b762b3aa7ee619fbf02a4dd31e6260a77344beab6d19deb |
|
MD5 | 4f4f41df9f2199ba28c3a96757395abd |
|
BLAKE2b-256 | e237b014d6281c72f56ea62d07639984e7eff8ba3c905cd3f476c271ad9c626e |