、DjangoのMySQLの接続
1.(データベースを作成します文字エンコーディングデータを設定注意を)
DjangoはORMは、ORMのdata_firstタイプで来るので、データベースを使用する前に作成する必要があります
作成し たデータベース DBのデフォルトの 文字が セット UTF8はutf8_general_ciの照合。
接続MySQLデータベース(Djangoのsqlliteデータベースがデフォルトで使用されている)で提供2、settings.pyプロジェクトファイルの変更
DATABASES = { ' デフォルト' { ' ENGINE ':' django.db.backends.mysql ' 、 ' NAME ':' DBNAME ' 、 ' USER ':' XXX ' 、 ' PASSWORD ':' XXX ' 、 ' HOST ':' localhostの' 、 ' PORT ':"3306 ' 、 } }
3、__init__pyファイルMySQLのデフォルトの方法ジャンゴに接続するには、プロジェクトの設定を変更します
pymysql輸入
pymysql.install_as_MySQLdb()
この時点でプログラムを実行し、エラーがあれば:django.core.exceptions.ImproperlyConfigured:あるmysqlclient 1.3.13以降が必要です。あなたは0.9.3を持っています。
ソリューション:
1: (この問題が発生Django2.2入手可能なバージョンの使用プロ試験)2.1.4バージョンまでのDjango
2:次のPythonのインストールディレクトリに移動します:。。/サイトパッケージ/ジャンゴ/ DB /バックエンド/ mysqlのbase.pyファイル、次のセクション(ライン35-36)をコメントアウト:
場合は、バージョン<(1、3、3 ): 調達(ImproperlyConfiguredを" はmysqlclient 1.3.3以降が必要です。あなたは%sの持っている"%データベースを。__version__)
この時点まだ与えられている時に、次の情報が与えられます:はAttributeError:「STR」オブジェクトの属性がNO「のデコードを持っていません
operations.pyファイル(146行)を見つけ、デコード(146本のライン)符号化するために変更されました:
クエリがNoneでない場合:
クエリ= query.decode(エラー=「置き換える」)
戻りクエリ
改为
クエリがNoneでない場合:
クエリ= query.encode(エラー=「置き換える」)
戻りクエリ
図4は、端末内のアプリケーションを作成します
python manage.py startappのapp01
5、クラスを作成するために、アプリ内でmodels.pyの
クラスのUserInfo(models.Model): NID = models.BigAutoField(PRIMARY_KEY = TRUE) 、ユーザ名 = models.CharField(max_lengthを= 32 ) パスワード = models.CharField(max_lengthを= 64)
6、setting.py登録アプリ
INSTALLED_APPS = [ ' django.contrib.admin ' 、 ' django.contrib.auth ' 、 ' django.contrib.contenttypes ' 、 ' django.contrib.sessions ' 、 ' django.contrib.messages ' 、 ' django.contrib.staticfiles ' 、 ' app01 ' 、#末尾添加 ]
7、データテーブルを作成します
ターミナルを実行します。
python manage.py makemigrations
のpython manage.pyの移行
二、modles.pyテーブルを作成します