django mysql不能在pythonanywhere上工作

时间:2015-01-07 23:29:28

标签: mysql django pythonanywhere

我尝试了3种访问数据库的方法:

    来自bash shell的
  1. [WORKS]:~$ mysql -u <username> -h mysql.server -p '<username>$<db_name>'
  2. [WORKS] ~$ python manage.py syncdb
  3. [不工作]
    • 执行syncdb
    • 重新加载应用
    • 转到网址
  4. 错误:

    _mysql_exceptions.OperationalError: (1045, "Access denied for user '<username>'@'ip-10-186-190-7.ec2.internal' (using password: NO)")

    设定:

    DATABASES = {
      'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '<username>$<db_name>',
        'USER': '<username>',
        'PASSWORD': <password>,
        'HOST': 'mysql.server',
        'PORT': '3306',
      }
    }
    

    Pythonanywhere的wsgi模块正在加载正确的设置脚本。数据库密码已在&#39;数据库&#39;中设置和检查。标签

    我在virtualenv中使用Django 1.7,Python 3.4,mysqlclient 1.3.4。

    感谢您的帮助。

    [编辑]:

    第一个错误实际上是:

    AttributeError: 'SessionStore' object has no attribute '_session_cache'

    我不知道这是否有意义。

1 个答案:

答案 0 :(得分:4)

问题是缺少数据库连接,并且与会话后端无关。我通过os.environ变量提供数据库的密码。这必须在python的任何地方设置wsgi脚本:

os.environ['DB_PWD'] = '<password>'

全部修复。

相关问题