ホーム >  Python > Django >  【PyCharm】メモアプリを作る。プロジェクトの設定・アプリケーション生成【Django3.x】

投稿日:   |  最終更新日:

【PyCharm】メモアプリを作る。プロジェクトの設定・アプリケーション生成【Django3.x】

DjangoPyCharmPython

PycharmにインストールしたDjangoからMariaDBに接続しました。今回はDjangoプロジェクトの設定をして、Djangoアプリケーションを生成します。

Djangoアプリケーション生成

前回、DjangoからMariaDBに接続しました。今回はDjangoプロジェクトを設定し、Djangoアプリケーションを作成し、設定を行います。

Djanngoのアプリケーション

Djangoはプロジェクトの単位があります。プロジェクトの下にアプリケーションが存在します。一つのプロジェクトに複数のアプリケーションが存在する場合もあります。これからDjangoにメモアプリを開発することを想定して進めてみます。プロジェクトを作ったら、Djangoコマンドでblogアプリケーションを生成します。

必要なもの

必要なものはWindowsあるいはMacPCのみです。Python3.7とPyCharm(無料版)がインストール済みであることが前提です。

Windows7にPyCharmをインストールします。

【Windows7】Pythonの統合開発環境PyCharmをインストールしてDjango開発【無料版】

PyCharmを日本語化します。

Pycharmを日本語化!旧バージョン(Windows7)でもできる?

Windows7にMariaDBをインストールします。

Windows7にMariaDBをインストール

PyCharmのコンソールからMariaDBにコネクトします。

【Pycharm】PythonからMariaDBにコネクトする【mysql-connector-python】

DjangoとMariaDBを接続するmysqlclientをインストールします。

【Windows7】mysqlclientをインストールできないときは【PyCharm】

DjangoからMariaDBに接続します。

【Windows7】DjangoからMariaDBに接続するには?【PyCharm】

環境

PC 32bit版のMicrosoft Windows 7(SP1) ※64bit版のWindows8、10でもOK。
Python 3.7.6
pip 20.0.2
Pycharm 2018.3.7
MariaDB 10.1
Django 3.0.3
mysqlclient 1.4.6

基本フォルダ構造

【Windows7】Pythonの統合開発環境PyCharmをインストールしてDjango開発【無料版】 で、Djangoプロジェクトを作成しました。

下記のコマンドでDjangoプロジェクトを生成します。

django-admin startproject django_exercise

Djangoプロジェクトを生成したら下記のようなフォルダが生成されることが確認できます。

|-- django_exercise
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   |-- wsgi.py
|-- manage.py

各ファイルは下記のような機能を担当しています。

django_exercise/settings.py 全般的な設定を持ってるファイル
django_exercise/urls.py プロジェクトのurlを管理するファイル
django_exercise/wsgi.py ウェブサーバー(apache, nginxなど)と連動するためのファイル
django_exercise/manage.py プロジェクト管理。DBのマイグレーション(migration)生成や実行、ウェブサーバー起動など

設定

①設定ファイルであるdjango_exercise/settings.pyを開きます。

下記のようにタイムゾーンを設定します。

...
TIME_ZONE = 'Asia/Tokyo'
...
USE_TZ = False
...

USE_TZのオプションがTrueの場合、templatesとformsのみで上で設定したタイムゾーンを使えます。Falseの場合、modelsでもタイムゾーンが使えますので全てのところで設定したタイムゾーンが使えます。

②staticファイルを使うため下記のようにSTATIC_ROOTを追加します。

...
STATIC_URL = '/static/'
...

プロジェクトを本番サーバーにデプロイする場合、下記のようにDEBUG設定をFalseで変更してデプロイしてください。

...
DEBUG = False
...

DB設定

Djangoとmysqlを連動する方法について説明します。mysqlをインストールする方法については下記のリンクを確認してください。

【Windows7】mysqlclientをインストールできないときは【PyCharm】

DjangoからMariaDBに接続します。

【Windows7】DjangoからMariaDBに接続するには?【PyCharm】

①設定ファイルであるdjango_exercise/settings.pyを開いて下記のように修正します。

...
DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test_django',
        'USER': 'root',
        'PASSWORD': 'ルートのパスワード',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}
...

上の内容でNAMEとPASSWORDを開発環境に合わせて修正して使ってください。

②他の環境でも使えるように下記のコマンドでrequirements.txtファイルを更新します。

# cd django_excercise
pip freeze > requirements.txt

③Databaseが上手く連動したか確認するため管理画面で必要なテーブルを下記のコマンドを使って生成してみます。

python manage.py migrate

以下のようにDjango管理用のテーブルが作成されます。

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying sessions.0001_initial... OK

アプリケーション生成

①下記のようにDjangoコマンドでblogアプリケーションを生成します。

python manage.py startapp memo

Djangoのアプリケーションが上手く生成されたら下記のようなフォルダ構造が確認できますが生成されたことが確認できます。

  • ~/django_exercise/
  • __init__.py
  • settings.py
  • urls.py
  • wsgi.py
  • memo
  • __init__.py
  • admin.py
  • apps.py
  • models.py

新しく生成されたアプリケーションのファイルは下記のような役割をします。

admin.py Djangoで基本的に提供する管理画面の設定
apps.py アプリケーションのメインファイル
models.py アプリケーションのモデル(models)ファイル。
tests.py テストファイル
views.py アプリケーションのビュー(views)ファイル

他にも下記のようにジャンゴ(django)でつかてるファイルがあります。

urls.py アプリケーションのurl管理
forms.py 入力フォーム管理
behaviors.py モデルミックスイン位置に関するオプション
tests.py テストファイル
constants.py アプリケーション定数管理
decorators.py デコレーター管理
factories.py テストデーターファクトリーファイル
managers.py カスタムモデルマネージャーファイル
signals.py カスタムシグナル管理
viewmixins.py ビュー(views)ミックスイン管理

次回

工事中


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告