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 変換の実装

推薦する

MySQL のダウンロードとインストールの詳細グラフィックチュートリアル

1. MySQLデータベースをダウンロードするには、公式Webサイトにアクセスしてください:http...

JS の精度外数値問題の解決

精度の問題に対する最もわかりやすい説明たとえば、1÷3=0.33333333...という数字は、3が...

MySQL-8.0.26 構成グラフィックチュートリアル

はじめに: 最近、会社のプロジェクトでデータベースのバージョンが変更されました。ここでは、MySQL...

事例を通してLinux NFSの仕組みを詳細に分析

前回の記事に引き続き、web02 サーバーを作成し、web01 サーバーと web02 サーバーの ...

ウェブページの読みやすさを向上させるいくつかの方法

1. 対照的な色を使用します。ここでのコントラストとは、テキストの色と背景色のコントラストを指します...

Linux で libudev を使用して USB デバイスの VID と PID を取得する方法

この記事では、libudev ライブラリを使用して hidraw デバイスにアクセスします。 lib...

MySQL の frm ファイルからテーブル構造を復元する 3 つの方法 [推奨]

mysql が正常に実行されている場合、テーブル構造を表示することは難しくありません。しかし、場合...

年末ですが、MySQL パスワードは安全ですか?

序文:年末です。データベースを検査する時期ではないでしょうか?一般的に、検査では、パスワードの複雑さ...

Vueプロジェクトがグラフィック検証コードを実装

この記事の例では、グラフィック検証コードを実装するためのVueプロジェクトの具体的なコードを参考まで...

2つのVirtualBox仮想ネットワークをブリッジするLinuxブリッジメソッドの手順

この記事は、この時期の「ピーターから奪ってポールに払う」という仕事のスタイルに対する私の不満から生ま...

Apache の一般的な仮想ホスト設定方法の分析

1. Apacheサーバーのインストールと設定yum インストール httpd -y systemc...

MySQLのデッドロックとログに関する詳細な説明

最近、MySQL オンラインでいくつかのデータ異常が発生しましたが、すべて早朝に発生しました。ビジネ...

ウェブページの幅を携帯電話の画面(ビューポート)の幅に自動的に適応させる実装コード

一般的な書き方は次のとおりです。 XML/HTML コードコンテンツをクリップボードにコピー<...

開発者とオペレーターが注目すべき Linux デバッグ ツール [推奨]

システム パフォーマンスの専門家である Brendan D. Gregg 氏は、LinuxCon N...

VMware Workstation 15 Pro に Ubuntu 1804 をインストールするチュートリアル (画像とテキスト付き)

このメモはインストール チュートリアルです。実用的な意味はありません。記録のためだけに書いています。...