[解決済み] MySQLを使用するためのDjangoのセットアップ
質問
PHPから少し離れて、Pythonを学びたいと思っています。PythonでWeb開発をするために、テンプレートなどを支援するフレームワークが必要なのですが、どのようなものがありますか?
私は非本番サーバーを持っていて、そこでウェブ開発に関するすべてのことをテストしています。Debian 7.1 LAMP スタックで、一般的な MySQL-server パッケージの代わりに MariaDB が稼働しています。
昨日、Djangoをインストールし、最初のプロジェクトである ファーストウェブ . まだ何も設定を変えていません。
ここで、私の最初の大きな混乱があります。私が追ったチュートリアルでは、この人は Django をインストールし、最初のプロジェク トを開始し、Apache を再起動し、それ以降 Django が動作するようになりました。彼はブラウザで、問題なく Django のデフォルトページに移動しました。
しかし、私は、最初のWebフォルダにcdして実行する必要があります。
python manage.py runserver myip:port
そして、それは動作します。問題ありません。しかし、このように動作することになっているのか、また、これによってこの先問題が発生することはないのか、疑問に思っています。
私の 第二の質問 は、私はそれが私のMySQLデータベースを使用するように設定したいです。私は/firstweb/firstwebの下のsettings.pyに入り、ENGINEとNAMEを見ましたが、ここに何を書くべきかわかりません。
そして、USER、PASSWORD、HOSTのエリアは、私のデータベースとその資格情報でしょうか?もし私が ローカルホスト を入れるだけでよいのでしょうか? ローカルホスト をHOSTのところに書いてください。
解決方法は?
MySQLのサポート
を追加するのは簡単です。あなたの
DATABASES
の辞書に、このようなエントリーがあるはずです。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DB_NAME',
'USER': 'DB_USER',
'PASSWORD': 'DB_PASSWORD',
'HOST': 'localhost', # Or an IP Address that your DB is hosted on
'PORT': '3306',
}
}
また、MySQLを利用するオプションもあります。
オプションファイル
Django 1.7 の時点では。これを実現するには
DATABASES
のような配列になります。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
を作成する必要があります。
/path/to/my.cnf
ファイルを作成し、上記と同様の設定を行います。
[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
Django 1.7 のこの新しい接続方法では、接続が確立される順序を知ることが重要です。
1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.
言い換えれば、OPTIONS でデータベースの名前を設定すると、MySQL オプション ファイルにあるものを上書きする NAME よりも優先されるのです。
ローカルマシンでアプリケーションをテストするだけなら
python manage.py runserver
を追加します。
ip:port
引数を使用すると、自分のマシン以外のマシンから開発用アプリケーションにアクセスできるようになります。アプリケーションをデプロイする準備ができたら、次の章に目を通すことをおすすめします。
Djangoのデプロイ
にある
djangobook
Mysqlのデフォルトの文字セットはutf-8でないことが多いので、このsqlを使用してデータベースを作成していることを確認してください。
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
を使用している場合
オラクルのMySQLコネクタ
あなたの
ENGINE
の行は、次のようになります。
'ENGINE': 'mysql.connector.django',
なお、最初にOSにmysqlをインストールする必要があります。
brew install mysql (MacOS)
また、python3用にmysqlクライアントパッケージが変更されています(
MySQL-Client
はpython 2でのみ動作します)
pip3 install mysqlclient
関連
-
python string splicing.join()とsplitting.split()の説明
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] ブーリアン値を格納するために使用するMySQLデータ型
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
-
[解決済み】OSX 10.6でPythonとDjangoでMySQLdbを使用する方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
Python百行で韓服サークルの画像クロールを実現する
-
PythonによるExcelファイルの一括操作の説明
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み] mysql-pythonのインストール(Windows)