Django プロジェクトを作成して MySQL に接続する方法

Django プロジェクトを作成して MySQL に接続する方法

1: django-admin.py startproject プロジェクト名

2: cd プロジェクト名

3: setting.pyを変更する

(1)ALLOWED_HOSTS = [] => ALLOWED_HOSTS = [“*”]

(2)LANGUAGE_CODE = 'en-us' => LANGUAGE_CODE = 'zh-hans'

(3): TIME_ZONE = 'UTC' => TIME_ZONE = 'Asia/Shanghai'

4: アプリを作成する

django-admin.py startproject アプリ名

5: setting.pyを変更する

INSTALLED_APPS 配列が追加されました => 'アプリ名'

6: プロジェクトディレクトリの下にutilsフォルダを追加して、複数のアプリのパブリックメソッドをカプセル化する

7: アプリの共通メソッドをカプセル化するために、アプリディレクトリに新しいユーティリティファイルを追加します。

8: 各ページのロジックコードを格納するために、アプリディレクトリの下に新しいビューフォルダを追加します。

9: アプリディレクトリに新しいルーティングファイル(urls.py)を追加して、このアプリのすべてのルートを保存します。

形式:
	django.urls インポートパスから
	.views から wx_pay をインポートします
	urlパターン = [
		 path("test", wx_pay.wx_pay().test, name="test"), # テスト]

10: プロジェクトルーティングにアプリルーティングを追加し、プロジェクトディレクトリのurls.pyを変更します。

django.contribからadminをインポート
django.urlsのインポートパスから、
H5からURLをh5_urlsとしてインポート
urlパターン = [
		パス('admin/', admin.site.urls),
	パス("h5/", インクルード(h5_urls))
]

この時点で、Django プロジェクトのディレクトリ構造が構成され、開発フェーズに入ることができます。

開発中にデータベースを使用することが多いので、データベースの設定方法を説明します。

11: プロジェクトディレクトリ内のsetting.pyを変更する

デフォルト:
データベース = {
 'デフォルト': {
  'エンジン': 'django.db.backends.sqlite3',
  'NAME': BASE_DIR / 'db.sqlite3',
 }
}
変更後:
データベース = {
 'デフォルト': {
 'エンジン' : 'django.db.backends.mysql',
 'NAME': 'データベース名(以下、DATABASE1と表記)',
 'USER':'ユーザー名',
 'PASSWORD': 'データベースパスワード',
 'HOST':'IPアドレス',
 'ポート':'ポート'
 }
}

12: データベースを開き、上で設定したデータベース名 (DATABASE1) を追加します。

13: モデルを設定し、appディレクトリにmodels.pyファイルを入力します。

インポート時間

django.dbからモデルをインポートする

# ここでモデルを作成します。

 クラス Test(models.Model):
  str = models.CharField("文字列", max_length=30, null=True, 空白=True)
  num = models.IntegerField("number", デフォルト=1, null=True, 空白=True)
  create_time = models.DateTimeField("time", デフォルト=time.strftime('%Y-%m-%d %H:%M:%S'), 空白=True)

14: データベースにデータを移行する

python manage.py 移行の作成

python manage.py 移行

15: この時点で、次のエラーが報告される可能性があります。

トレースバック(最新の呼び出しが最後):
途中を省略する
<module> の 24 行目にある "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/MySQLdb/__init__.py"
バージョン情報、_mysql.バージョン情報、_mysql.__ファイル__

NameError: 名前 '_mysql' が定義されていません

このエラーは主にMysqldbがpython3.5以降のバージョンと互換性がないために発生します。

16: プロジェクトディレクトリの__init_.pyを変更し、次のコードを追加します。

pymysqlをインポートする

pymysql.version_info = (1, 4, 13, "最終", 0)

pymysql.install_as_MySQLdb()

さて、これでよく使われる設定はすべて完了です。

Django プロジェクトの作成 + MySQL への接続方法についての記事はこれで終了です。Django プロジェクトの作成方法と MySQL への接続方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Djangoプロジェクトアプリケーション作成プロセスの概要
  • Djangoプロジェクトの作成と管理の実装プロセスの詳細な説明
  • Djangoフレームワークのインストールとプロジェクト作成プロセスの分析
  • Python3 で Django プロジェクトを作成するいくつかの方法 (3 種類)
  • Python Django プロジェクトとアプリケーションの作成の詳細な説明

<<:  TypeScriptの列挙型を詳しく説明する

>>:  CSS3 での 2D および 3D 変換の実装

推薦する

CSS3は子供のころの紙飛行機を実現する

今日は折り紙飛行機(飛べる飛行機)を作ります基本的にすべてCSSで実装されており、JSはごく一部に過...

シェルで文字列内のスペースや指定された文字を削除する方法

インターネット上には、正しい方法であっても、使用しても正しい結果が得られない方法が数多くあります。正...

JavaScript はチェックボックスの選択機能を実装します

この記事の例では、すべてのチェックボックスの選択を実現するためのJavaScriptの具体的なコード...

Ubuntu LinuxにOracle Java 14をインストールする方法

最近、Oracle は Java 14 (または Oracle JDK 14) の一般公開を発表しま...

JDKネイティブスレッドプールのバグを修正するTomcatの実装原理

処理能力と同時実行性を向上させるために、Web コンテナは通常、リクエストを処理するタスクをスレッド...

埋め込みJavaScriptと外部リンクの基本的な応用方法

目次埋め込みJavaScriptと外部リンクの基本的な応用JavaScript の記述方法には、イン...

Vue-pdfはPDFファイルのオンラインプレビューを実装します

序文ほとんどのプロジェクトでは、PDF ファイルのオンライン プレビューに遭遇するでしょう。このプロ...

Ubuntu 20.04 をインストールした後に行うべきこと (初心者向けガイド)

Ubuntu 20.04 がリリースされ、多くの新機能が導入されましたが、慣れていない機能も多くあ...

携帯電話番号の歩数記録を取得するWeChatアプレット

序文最近、小さなプログラムを開発しているときに、このような問題に遭遇しました。ユーザーが認証をクリッ...

Docker-compose チュートリアルのインストールとクイックスタート

目次1. Compose の紹介2. ComposeとDockerの互換性3. Dockerをインス...

自動同期テーブル構造のMySql開発

開発の問題点開発プロセスでは、データベース フィールドが頻繁に変更されるため、RD 環境と QA 環...

CSS が複数のクラスに一致する方法のサンプルコード

CSSは複数のクラスにマッチする次の HTML タグ li、クラスはオープン スタイルです。私の要件...

CSS を使用して固定ナビゲーションと左右スライドを備えたスクロール バーを作成する方法

上に示すように、ナビゲーションは上部に固定されており、左右にスライドしてさらにオプションをクリックで...

サブセットかどうかを判断するためのMySQLメソッドの手順

目次1. 問題2. 解決策オプション1:オプション2: 1. 問題この話は、エラーと脱落率を照会する...

JS を使用して航空機戦争の小さなゲームを実装する

この記事の例では、参考のために航空機戦争ゲームを実装するためのJSの具体的なコードを共有しています。...