投稿日: | 最終更新日:
【PyCharm】メモアプリを作る。プロジェクトの設定・アプリケーション生成【Django3.x】
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をインストールします。
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)ミックスイン管理 |
次回
工事中
- Python 114
- 制作 54
- RaspberryPi 41
- Django 40
- WordPress 40
- Linux 27
- VPS 22
- JavaScript 21
- PHP 20
- HTML・CSS 19
- AWS 16
- 仮想環境 15
- レスポンシブデザイン 13
- マイコン 11
- WEB全般 11
- 動画製作 9
- Webサービス 8
- 統合開発環境 8
- 機械学習 8
- PyCharm 7
- jQuery 7
- AfterEffects 7
- 起業・設立 7
- Django REST framework 6
- C# 6
- デザイン 6
- SEO 6
- pydata 6
- Visual Studio 5
- 数学 5
- 携帯サイト 5
- heroku 5
- Mac 5
- illustrator 5
- node.js 5
- Anaconda 5
- Nginx 4
- Jupyter Notebook 4
- インフラ 4
- Google Colaboratory 4
- symfony 4
- Webスクレイピング 3
- photoshop 3
- Go言語 3
- PC 3
- ツール 3
- Docker 3
- facebook 3
- 作業効率化 3
- データベース 3
- Cloud9 3
- コマンド 2
- micro:bit 2
- Kali Linux 2
- Webサーバー 2
- MariaDB 2
- ドローン 2
- コンテナ 2
- DaVinci Resolve 2
- ネットワーク 2
- Java 2
- movie 2
- PCDJ 2
- 音楽 2
- XSERVER 2
- Ansible 1
- Vue.js 1
- JSON 1
- Bootstrap 1
- バージョン管理システム 1
- SSL 1
- S3 1
- ムームードメイン 1
- ネットワーク 1
- アニメーション 1
- D3.js 1
- Rhino 1
- アニメ 1
- git 1
- windows 1
- アクセス解析 1
- スマートフォン 1
- アフィリエイトノウハウ 1
- 知識 1
- TypeScript 1
- 役立つ本・書籍 1
- データサイエンス 1
- ESP32 1
- AI 1
- ownCloud 1
- API 1