我正在开发一个 Django Web 界面。根据我阅读的所有内容,我们正在使用的标准 Django 身份验证应该区分大小写,因此 userid、UserId 和 USERID 是三个单独的用户名。
在我的 Windows 7 机器上,正如预期的那样,用户注册过程和登录身份验证都区分大小写,但是当将相同的代码移植到我们的 Linux 服务器时,用户注册过程和登录身份验证都变得不区分大小写,因此用户 ID和 USERID 被认为是相同的。
现在,由于注册和身份验证过程都发生了变化,我们团队担心注册用户被其他注册用户隐藏的担忧已经解除,但我仍然担心我们 Linux 服务器上的 Django 功能与文档相反。
我们的 global_settings.py 包含:
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
和 settings.py 包括:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
' django.contrib.staticfiles',
我可以在两台机器上看到的唯一区别是:
case sensitive case-insensitive
========= ======
OS Windows Linux
database SqLite MySQL
Django ver. 1.4.5 1.4.? / 1.5
谁能解释行为上的差异并告诉我是否有任何副作用需要注意?谢谢!