在使用python-socketio
s django_example 并看到它运行良好之后,我创建了一个新的 django 项目,像示例一样对其进行配置,将示例应用程序复制到项目中(完成它覆盖了 runserver 管理命令)。一切正常,我可以进行一些更改,以便您可以设置一个nick,一些 redis 的东西来查找 sid 的 nick,并且能够支持向 nick 发送私人消息。一切仍然很好。
我认为下一个合乎逻辑的步骤是,而不是手动设置昵称,要求用户登录,将他们的用户名公开为模板中脚本块中的 var(我移至scripts/index.html
)templates/index.html
,并自动让 javascript 发出我的连接时自动使用用户名自定义“set_nick”事件。
我LOGIN_URL = '/accounts/login'
在settings.py中定义,在我的urls.py中包含 'django.contrib.auth.urls'并用@login_required
.
直到那时我才注意到,无论您请求什么 URL,您总是会获得聊天应用程序索引视图 - 没有登录页面重定向,“/admin/”被忽略等。
编辑已解决 - 请参阅下面的答案。