【问题标题】:500 error from allauth when moving django app from local to production将 django 应用程序从本地移动到生产时,来自 allauth 的 500 错误
【发布时间】:2016-11-06 18:08:20
【问题描述】:

我在将我的 django 1.9.3 应用程序从本地开发迁移到 Heroku 上的生产时遇到困难,特别是使用 allauth (0.25.2) 通过 Twitter 登录。

看来我遇到了与django allauth not working on production 相同的问题,但该答案对我不起作用。

当我运行开发服务器时,一切正常,Twitter 上的回调 url 设置为 http://127.0.0.1:8000/accounts/twitter/login/callback/

当我将其切换到 http://{myappname}.herokuapp.com/accounts/twitter/login/callback/http://{myappname}.herokuapp.com/accounts/twitter/login/callback/ 并访问 Heroku 上的应用程序时,当我尝试通过 Twitter 登录时收到 500 错误,并被重定向到 https://{myappname}.herokuapp.com /accounts/twitter/login/?process=login

我在 settings.py 中包含以下设置,我在故障排除期间尝试切换:

ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = "mandatory"
ACCOUNT_EMAIL_SUBJECT_PREFIX = "[{myappname}] "
ACCOUNT_LOGIN_ATTEMPTS_LIMIT = {number}
ACCOUNT_LOGIN_ATTEMPTS_TIMEOUT = {number}
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = False
ACCOUNT_LOGOUT_ON_PASSWORD_CHANGE = True
ACCOUNT_LOGOUT_REDIRECT_URL = "/"
SOCIALACCOUNT_EMAIL_REQUIRED = ACCOUNT_EMAIL_REQUIRED

对于生产(再次尝试切换这些):

SECURE_CONTENT_TYPE_NOSNIFF = True
SECURE_BROWSER_XSS_FILTER = True
SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
CSRF_COOKIE_HTTPONLY = True
X_FRAME_OPTIONS = 'DENY'

我也尝试过刷新授权密钥。关于我做错了什么的任何想法?

【问题讨论】:

  • 当您询问有关内部服务器错误的问题时,您需要将完整的错误跟踪添加到您的问题中
  • 不幸的是,我没有在终端窗口中看到任何错误跟踪。
  • 它不会出现在您的终端窗口中。它将在您的日志中。或使用 debug=True 运行并在浏览器中获取它

标签: python django heroku django-allauth


【解决方案1】:

听从e4c5的建议,我在生产环境开启了debug。这很快导致了这个问题:Django: SocialApp matching query does not exist 以及我的 SITE_ID 配置的问题。

【讨论】:

    【解决方案2】:

    在这里聚会迟到了,但您可以尝试在 Heroku 上运行迁移。

    heroku run python manage.py migrate
    

    【讨论】:

    • 点评来源: 嗨,这篇文章似乎没有为问题提供quality answer。请编辑您的答案并改进它,或者将其作为评论发布。
    猜你喜欢
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    相关资源
    最近更新 更多