踩坑记录:
安装pip install django-channels-presence
使用时,报错如下:
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Cannot import 'rooms'.
Check that 'channels_presence.apps.RoomsConfig.name' is correct.
解决方案1:
降低Django版本为:Django==3.1.5
1,查看当前Django版本:pip freeze
若为:Django==3.2
2,卸载Django,使用Django==3.1.5
安装可修复此问题。
其他包版本如下:
django-channels-presence==1.0.0
channels==3.0.3
channels-redis==3.2.0
解决方案2:
适用Django==3.2.x
第一:在自己项目中的一个<project_name>.apps.py
(<app_name>为app名,可替换)文件中添加如下代码:
from channels_presence.apps import RoomsConfig
class CustomRoomsConfig(RoomsConfig):
name = 'channels_presence'
第二:在settings.py
配置:
INSTALLED_APPS = [
...
# "channels_presence", 注释 ============== Instead of channels_presence you can now use
'<app_name>.apps.CustomRoomsConfig',
...
]
第三:数据迁移:
python manage.py makemigrations
python manage.py migrate
具体原因未知。如果有哪位小伙伴知道是什么问题,欢迎评论区讨论。
其他包版本如下:
Django==3.2
django-channels-presence==1.0.0
channels==4.0.0
channels-redis==4.0.0
记录时间:2023-03。