跳转到主要内容

与用户关联的外键的Django会话

项目描述

Jazzband GitHub Actions Test Coverage PyPI

Django包含出色的内置会话,但是所有数据都隐藏在base64编码的数据中。这使得对特定用户的所有活动会话进行查询变得非常困难。django-user-sessions修复了这个问题,并将会话对象作为其他ORM对象一样的一等公民。它是django.contrib.sessions的替代品。

我非常希望听到您对这个软件包的反馈。如果您遇到问题,请在GitHub上提交问题,或者通过分叉存储库并提交一些拉取请求来为此项目做出贡献。该软件包已翻译成英语、荷兰语和其他语言。请使用Transifex贡献您的语言。

还可以查看捆绑的示例模板和视图,了解如何将应用程序集成到您的项目中。

与Django 3.2和4.0兼容,支持Python 3.7、3.8、3.9和3.10。文档可在readthedocs.org找到。

功能

获取用户会话列表

user.session_set.filter(expire_date__gt=now())

或退出用户的所有会话

user.session_set.all().delete()

用户的IP地址和用户代理也存储在会话中。这允许在管理员界面中向用户显示活动会话列表。

http://i.imgur.com/YV9Nx3f.png

同样,也可以在自定义布局中显示。

http://i.imgur.com/d7kZtr9.png

安装

请参阅文档中的安装说明

GeoIP

您需要设置GeoIP才能使位置检测工作。请参阅Django文档中的安装GeoIP

获取帮助

有关此包的一般问题,请前往Stack Overflow。如果您认为此包存在问题;检查该问题是否已列出(无论是已打开的还是已关闭的),如果没有,请提交问题。

开发

如何贡献

  • 在GitHub上fork存储库并开始修改。

  • 运行测试。

  • 发送包含您更改的pull请求。

  • 使用Transifex提供翻译。

运行测试

此项目旨在实现完整的代码覆盖率,这意味着您的代码应该经过良好的测试。还测试加固的代码分支。您可以使用以下命令运行完整的测试套件

make test

或者使用以下命令运行特定的测试

make test TARGET=tests.tests.MiddlewareTest

对于Python兼容性,使用tox。您可以使用以下命令运行完整的测试套件

tox

发布

以下操作是推送新版本所必需的

  • 更新发布说明

  • 如果添加了任何新的翻译字符串,请将新的源语言推送到Transifex。请确保翻译者有足够的时间翻译这些新字符串

    make tx-push
  • 添加迁移

    python example/manage.py makemigrations user_sessions
    git commit user_sessions/migrations -m "Added migrations"
  • 更新翻译

    make tx-pull
  • 打包并上传

    bumpversion [major|minor|patch]
    git push && git push --tags
    python setup.py sdist bdist_wheel
    twine upload dist/*

许可证

此项目采用MIT许可证。

致谢

此库由Bouke Haarsma编写,并由贡献者贡献。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

django-user-sessions-2.0.0.tar.gz (111.0 kB 查看哈希值)

上传时间

构建分布

django_user_sessions-2.0.0-py3-none-any.whl (38.7 kB 查看哈希值)

上传时间 Python 3

由...

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面