访问被拒绝的python manage.py syncdb

时间:2012-02-19 02:03:33

标签: python django

我正在关注Django教程,我购买了1个月的webfaction.com订阅来练习一些网络编程。

本教程告诉我在应用程序目录中输入python manage.py syncdb,对我来说是:D:\ Users \ yangs \ Downloads \ Django-1.3.1 \ Django-1.3.1 \ build \ scripts- 2.7 \ mysite的

但是我收到一条错误消息:

_msql_exceptions.OperationalError: (1045, "Access denied for user 'flammenmeer_'@'c-68-38-119-33.hsd1.nj.comcast.net' (using password: YES)")

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'flammenmeer_',                 # Or path to database filw
        'USER': '',                             # Not used with sqlite3.
        'PASSWORD': 'my_password',              # Not used with sqlite3.
        'HOST': 'flammenmeer.webfactional.com', # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                             # Set to empty string for default. Not used with sqlite3.
        'USER': 'flammenmeer_',
    }
}

任何人都可以告诉我为什么我收到此错误消息?提前谢谢!

编辑:我也试过了:

  • web329.webfaction.com for host
  • 我创建了一个没有名为flammenmeer的下划线的新数据库

3 个答案:

答案 0 :(得分:1)

因此,所有webfaction数据库都将被命名为[account name] _aname,整个事件必须小于16个字符。因此,如果您的用户名是“flammenmeer”,那么您已经使用了12个字符,包括下划线。因此,对于您的示例,让我们假装您在名为“test”的管理面板中创建数据库,您的数据库名称将为flammenmeer_test。此外,您的用户名与数据库名称相同。最后,您不需要定义主机,localhost默认就足够了。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'flammenmeer_test',
        'USER': 'flammenmeer_test',
        'PASSWORD': 'blahblahblah',
        'HOST': '',
        'PORT': '',
    }
}

编辑提供有关如何在webfaction上运行django的信息,而不是本地计算机

除非您支付静态IP地址,否则无法从外部访问webfaction数据库。听起来你在本地计算机上运行Django教程,而不是在Webfaction上运行(基于项目的位置是D盘)。

  1. 确保您在Webfaction控制面板中创建了一个数据库,其中包含您想要的“flammenmeer_”之后的4个字符名称,例如“flammenmeer_test”

  2. Download Putty(该页面上第一个“Putty.exe”链接)

  3. 在Putty中,连接到flammenmeer @ [机器名] .webfaction.com(机器名称将类似于“web312”,并且将与您创建数据库的机器相同。您的最终产品可能看起来像什么像flammenmeer@web312.webfaction.com

  4. 在您的webfaction帐户上安装Django

    • 输入“easy_insall-2.7 django”
  5. 为django脚本创建目录

    • 输入“mkdir scripts”
    • 输入“cd scripts”
  6. 创建一个新的Django项目

    • 输入“python2.7~ / lib / python2.7 / django / bin / django-admin.py startproject ruhemeer”
    • 输入“cd ruhemeer”
  7. 修改您的设置(您将要学习VIM

    • 输入“vim settings.py”
    • 点击字母“i”进入编辑/插入模式
    • 使用箭头键导航到数据库设置并修改设置
    • 按“Esc”退出编辑/插入模式
    • 输入“:wq [enter]”
  8. 继续使用Django教程:)

  9. 希望有所帮助。

答案 1 :(得分:0)

因为,连接数据库的信息不正确。只是按时检查一下。

你确定用户名末尾有一个下划线,似乎有点奇怪

答案 2 :(得分:0)

您无法从Windows计算机访问您的webfaction数据库服务器,这就是您遇到这些问题的原因。

要使用django练习,您不需要数据库服务器或Web服务器。

首先,安装django。由于您使用的是Windows,请使用this link下载django的Windows安装程序。

像安装任何其他Windows程序一样安装它。

现在,开始你的项目:

  1. 打开命令提示符。键入Windows键+ R以显示“运行”提示,键入cmd并按Enter键。

  2. 创建您想要工作的目录。例如,mkdir c:\work

  3. 更改到该目录cd work,以便您的提示为C:\work>

  4. 输入python C:\Python27\Scripts\django-admin.py startproject myproject

  5. 这将在myproject下创建work目录。

    修改settings.py文件并对DATABASES进行以下更改:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
            'NAME': 'test.db',                      # Or path to database file if using sqlite3.
            'USER': '',                      # Not used with sqlite3.
            'PASSWORD': '',                  # Not used with sqlite3.
            'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
            'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
        }
    }
    

    在Windows中工作有助于拥有IDE。 PyCharm是我的最爱。它是适用于Windows的Python IDE,包括对django的出色支持。您可以下载免费试用版。

    安装完成后,只需从IDE中打开目录myproject即可。