Python Django登录将进行身份验证,但重定向仅在远程服务器上失败

Python Django登录将进行身份验证,但重定向仅在远程服务器上失败,python,mysql,django,django-authentication,Python,Mysql,Django,Django Authentication,我刚刚完成了我的web应用程序的构建,并将其迁移到了数字海洋水滴中。我遇到的问题是,我可以运行runserver 0.0.0.0:8000,并使用我的服务器IP访问我的主页、登录页、注册等。此外,我还可以输入错误的凭据,并被重定向回重新登录。只要输入正确的凭据,Django就会挂断,直到我停止服务器 在我的本地机器上,我没有这个问题,通过局域网连接,我能够成功登录。我的本地计算机连接到与Django prod服务器位于同一数据中心的droplet上的数据库 奇怪的是,根据我的数据库,尝试登录成功

我刚刚完成了我的web应用程序的构建,并将其迁移到了数字海洋水滴中。我遇到的问题是,我可以运行
runserver 0.0.0.0:8000
,并使用我的服务器IP访问我的主页、登录页、注册等。此外,我还可以输入错误的凭据,并被重定向回重新登录。只要输入正确的凭据,Django就会挂断,直到我停止服务器

在我的本地机器上,我没有这个问题,通过局域网连接,我能够成功登录。我的本地计算机连接到与Django prod服务器位于同一数据中心的droplet上的数据库

奇怪的是,根据我的数据库,尝试登录成功了。这个问题似乎与我的观点有关。通过更改重定向到我的登录页,并将打印语句添加到我的视图中,我可以看到,在身份验证之后,它永远不会被访问

Mysql版本在两个实例中都是相同的

来自我的Django实例:

  • 我可以从我的实例登录到数据库
  • 我可以从我的实例创建一个新的超级用户
    manage.py shell
  • 我可以填写注册表并创建一个新用户(但我的shell将挂起,直到CTR+C)
  • 我可以登录并证明我已通过
    manage.py shell
  • 我可以确认我的服务器没有删除我的头
  • 我可以从
    manage.py shell
  • 我没有收到任何错误
  • 我的服务器没有使用太多的CPU
  • 允许的_主机=['*']
  • 我已经注释掉了所有的安全特性
  • NGINX和Gunicorn已禁用(启用时存在相同问题)
此外,我已经在与数据库相同的实例上克隆了我的repo。不幸的是,这并没有解决我的问题

我正在使用:
python3.6.8-Django 2.2.1-MySQL 5.7

settings.py
导入操作系统
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(u文件_u)))
SECRET\u KEY=os.environ['SECRET\u KEY']
调试=真
允许的_主机=['*']
#应用程序定义
已安装的应用程序=[
#django内置进口
“django.contrib.admin”,
“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
“django.contrib.sites”,
#django安装的打包导入
“阿拉斯”,
“allauth.账户”,
“脆皮形式”,
“jquery”,
“rest_框架”,
“rest_框架_数据表”,
“chartjs”,
“sass_处理器”,
“django_nose”,
#用户构建的导入
“用户”,
“页面”,
“已验证”,
“交换”,
“芹菜任务”
]
REST_框架={
“默认渲染器类”:(
'rest_framework.renderers.JSONRenderer',
“rest_framework.Renders.BrowsableapInderer”,
'rest_framework_datatables.Renders.DatatablesRenderer',
),
“默认过滤器\u后端”:(
'rest\u framework\u datatables.filters.DatatablesFilterBackend',
),
“默认分页类”:(
'rest_framework_datatables.pagination.DatatablesPageNumberPagination'
),
“页面大小”:3,
}
中间件=[
'django.middleware.security.SecurityMiddleware',
“django.contrib.sessions.middleware.SessionMiddleware”,
'django.middleware.common.CommonMiddleware',
“django.middleware.csrf.CsrfViewMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.xFrameOptions中间件',
'django.contrib.auth.middleware.RemoteUserMiddleware',
]
TEST_RUNNER='django_nose.NoseTestSuiteRunner'
ROOT_URLCONF='rubillion.url'
模板=[
{
'BACKEND':'django.template.backends.django.DjangoTemplates',
'DIRS':['templates'],
“应用程序目录”:正确,
“选项”:{
‘图书馆’:{
“文件\u存在”:“authenticated.templatetags.app\u过滤器”
},
“上下文处理器”:[
“django.template.context_processors.debug”,
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_应用程序='rubillion.WSGI.APPLICATION'
#SESSION\u ENGINE=“django.contrib.sessions.backends.cache”
数据库={
“默认值”:{
“主机”:os.environ[“主机”],
'NAME':'user_db',
'ENGINE':'django.db.backends.mysql',
“用户”:os.environ['DBUSER'],
“密码”:os.environ['DBPWD']
},
“auth_db”:{
“主机”:os.environ[“主机”],
'NAME':'user_db',
'ENGINE':'django.db.backends.mysql',
“用户”:os.environ['DBUSER'],
“密码”:os.environ['DBPWD']
},
“交换数据库”:{
“主机”:os.environ[“主机”],
'NAME':'exchange',
'ENGINE':'django.db.backends.mysql',
“用户”:os.environ['DBUSER'],
“密码”:os.environ['DBPWD']
},
}
数据库_ROUTERS=['rubillion.ROUTERS.ExchangeRouter','rubillion.ROUTERS.AuthRouter']
#密码验证
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-密码验证程序
验证密码验证程序=[
{
'NAME':'django.contrib.auth.password\u validation.UserAttributesMilarityValidator',
},
{
'NAME':'django.contrib.auth.password\u validation.MinimumLengthValidator',
},
{
'NAME':'django.contrib.auth.password\u validation.CommonPasswordValidator',
},
{
'NAME':'django.contrib.auth.password\u validation.NumericPasswordValidator',
},
]
语言代码='en us'
时区='UTC'
使用_I18N=True
使用\u L10N=True
使用_TZ=True
静态URL='/STATIC/'
静态文件\u目录=[
os.path.join(基本路径),
File "/home/antony/ruby/authenticated/models.py", line 320, in create_user_profile
Users.objects.get_or_create(username=instance)
File "/home/antony/ruby/exchange/models.py", line 49, in queue_task
    send_task('celerytasks.tasks.volatilityTrader')