2012-02-19 59 views
0

我正在关注一个Django教程,并且购买了1个月的webfaction.com订阅来练习一些Web编程。拒绝访问python manage.py syncdb

本教程告诉我在应用程序目录下输入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主机
  • 我做了一个新的数据库,而不叫下划线flammenmeer

回答

1

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

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. 确保你后,你想要的“flammenmeer_”创建的数据库在Webfaction控制面板与任何4个字符的名称,一个例子是“flammenmeer_test”

  2. Download Putty(最先在该页面上的“Putty.exe”链接)

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

  4. 您webfaction帐户

    • 类型“easy_insall-2安装Django。7 Django的MKDIR脚本 “
    • 键入 ”cd脚本“
  5. 为你的Django的脚本

    • 类型创建一个目录” 创建一个新的Django项目

      • 输入“python2.7〜/ lib/python2.7/dj安戈/斌/ django-admin.py startproject命令ruhemeer “
      • 键入 ”cd ruhemeer“
    • 编辑您的设置(你将要学习VIM

      • 类型” VIM设置。 PY”
      • 打字母‘i’进入编辑/插入模式
      • 使用箭头键导航到该数据库设置并修改设置
      • 命中 “ESC” 退出编辑/插入模式
      • 类型 “:WQ [进入]”
    • 继续同Django的教程:)

希望有所帮助。

+0

感谢您的答复。我尝试制作一个名为“Flammenmeer_test”的数据库,但我仍然收到相同的错误消息。 manage.py如何知道我的应用程序托管在哪里? – 2012-02-19 04:18:54

+0

我会编辑更详细的答案... – bwooceli 2012-02-19 04:43:07

+0

好的,所以我做了一些挖掘,发现我可以使用SSH?访问我的数据。我到了名为“myproject”的目录,我想访问settings.py,以便我可以使用所有信息进行编辑。我如何去打开文件进行编辑? – 2012-02-19 04:50:39

0

因为,信息连接数据库是不正确的。只是准时检查它更多。

你肯定有在用户名的末尾加下划线,这似乎有点不可思议

+0

我确定除了HOST之外的所有东西。我创建了一个名为flammenmeer_的数据库,它表示他们为名为“flammenmeer_”的数据库创建了一个用户。所以我猜这对数据库名称和用户名是一样的。这样的东西是必需的吗? – 2012-02-19 02:12:21

+0

好的,但你有没有授予数据库访问权限? – lpostula 2012-02-19 02:14:35

+0

是的,在我创建一个数据库后,它说:已经创建了MySQL数据库“flammenmeer_”。用户“flammenmeer_”已创建(默认密码“blahblahblah”,并有权在新数据库上工作 – 2012-02-19 02:17:40

0

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

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

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

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

现在,开始你的项目:

  1. 打开命令提示符窗口。键入windows键+ R,弹出运行提示符,输入cmd并按回车。

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

  3. 更改到该目录cd work所以你的提示是C:\work>

  4. 类型python C:\Python27\Scripts\django-admin.py startproject myproject

这将work下创建myproject目录。

编辑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即可。