2

このチュートリアルの手順を正確に実行したと確信していますが、それでもエラーが発生します= /

現在、私のsettings.pyDATABASESは次のようになっています

DATABASES = {
    'default': {
        'ENGINE': 'mysql',  # Add 'postgresql_psycopg2', 'mysql','sqlite3' or 'oracle'.      
        'NAME': 'mydb',     # Or path to database file if using sqlite3.
        'USER': 'user',     # Not used with sqlite3.
        'PASSWORD': 'pwd',  # 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.
    }
}

チュートリアルでは、ENGINEに「mysql」を含めるように指示されています。ただし、コマンド'python manage.py shell'を使用しようとすると、このエラーが発生します

django.core.exceptions.ImproperlyConfigured: 'mysql' isn't an available database backend.
Try using django.db.backends.mysql instead.
Error was: No module named mysql.base

これが私がdjango.db.backends.mysql隣にいる理由ENGINEです。

これらの設定の後、チュートリアルでは、これらのコマンドを入力するように指示されます

'python manage.py shell'     <--- works fine

from django.db import connection      <--- works fine

cursor = connection.cursor()          <--- uh oh

カーソルコマンドを実行した後、このエラーが発生します

http://pastebin.com/8MtYq7rg

これが何を意味するのかよくわかりません=/

サーバーを実行しようとすると、python manage.py runserverこのエラーが発生します。これが何を意味するのかわかりませんが、最後のエラーは同じようです。

http://pastebin.com/91U3dz73

また、DBアクセスをテストするためにオンラインで検索しましたpython manage.py dbshell。これは、私が受け取るメッセージです。

Error: You appear not to have the 'mysql' program installed or on your path.

私はこの問題をredditに投稿して、さらに助けが得られるかどうかを確認しました。この情報の一部がこの問題にさらに役立つことを願っています。

  1. シェルにMySQLと入力して、結果を確認します
  2. MySQLのインストール方法を投稿してください。Djangoがすでに使用するテーブルを作成しましたか?
  3. どのOSを使用していますか?

    1. MySQLをシェルに入力しても何も起こりません。コマンド「pythonmanage.pyshell」を入力すると、MySQLになります。「NameError:name'MySQL'isnotdefined」というエラーが表示されます。ターミナルでMySQLと入力すると、MySQL:コマンドが見つかりませんと表示されます

    2. MySQLをインストールした方法は、ファイルをダウンロードしてから、tarファイルが配置されている場所を抽出することでした。次に、解凍​​したフォルダを/ home/Developmentディレクトリに置きます。私のコードはすべて/home/ Development / djcode / mysite /mysite/に保存されています

    3. 私はUbuntuを使用しています

** * *** UPDATE * UPDATE * ** * ** * ** * ** * **

したがって、MySQLをインストール/ダウンロードしていなかったために、エラーが発生したと思います。私が持っていたのはMySQL-Pythonでしたが、これは同じものではありません...しかし、とにかく、MySQLをダウンロード/インストールし、「python manage.py shell」、「from django.db import connection」、「cursor=connection」の順にPythonシェルを実行しました。 。カーソル()'

ただし、次のエラーが発生します

OperationalError:(1045、"ユーザー'bradford' @'localhost'のアクセスが拒否されました(パスワード:YESを使用)")

この時点で何をすべきかわからない=/

4

3 に答える 3

3

PythonMySQLDBが不足していると思います

于 2012-11-11T08:42:01.733 に答える
1

こちらをご覧くださいhttps://docs.djangoproject.com/en/dev/ref/settings/#engine

あなたは使用する必要があります

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        ....
    }
}
于 2012-11-11T08:12:08.770 に答える
0

これはあなたの更新に対する応答です。これは MySQL エラーです。MySQL は、ユーザーがデータベースにアクセスできる方法と場所に関する制限を設定します。そのドキュメントはこちらにありますが、tl;drは、ユーザーが存在すること、パスワードが正しいこと、および正しいドメインから接続していることを確認する必要があることです。

于 2013-03-09T23:32:11.433 に答える