#author("2020-04-28T00:59:03+00:00","default:wikiadmin","wikiadmin") #author("2020-04-28T04:46:40+00:00","default:wikiadmin","wikiadmin") -Ptyhonでフレームワークといえばこれ #contents *Python3 + Django2.0入門 [#we622a7f] https://github.com/react-samples/django-sample1 https://github.com/react-samples/django-sample2 *インストール [#y203a65a] -仮想環境作ってpipでインストールするべし。 -CentOS7だとSQliteが古いのでコンパイル必要! **仮想環境作成とインストール [#hdfcf03b] python3 -m venv djangoApp cd djangoApp source bin/activate pip3 install django *アプリケーションの作成 [#q3936a06] **プロジェクトの作成 [#o9d4fe2d] django-admin startproject PROJECT_NAME **アプリ追加(パス単位で機能を分けると良い) [#b8694df7] python3 manage.py startspp hoge **DB Migration [#ra39c5c3] ***modelからDB反映 [#z9bdaffc] models.pyを追加 setting.pyのINSTALLED_APPS配列にdjangoAppsを追加 python3 manage.py makemigrations djangoApp python3 manage.py migrate ***既存のデータベースからModel作成 [#rd36421e] settings.pyに接続情報記載 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'cakephp', # データベース名 'USER': 'test_user', # ユーザ名 'PASSWORD': 'hogehoge', # パスワード 'HOST': '192.168.11.157', # MariaDBがあるサーバのIPアドレスやホストを。空欄はローカルホスト 'PORT': '3306', # 空欄はデフォルトポートの3306 } } manage.py inspectdb の出力結果をmodels.pyに追記 python3 manage.py migrate *管理ツール [#rf346a0b] admin.pyにモデルを登録 -admin.pyにモデルを登録する admin.site.register(Entity) admin.site.register(Entity名称) -adminのユーザー追加 python3 manage.py createsuperuser *ローカル実行 [#i586fc6c] python3 manage.py runserver *templateの利用 [#u2c5a725] jinja2も使えるらしいが標準設定はDTLだと。ここもパスの設定が必要である。 settings.pyのTEMPLATESのDIRSに以下の設定を追加。 'DIRS': [ os.path.join(BASE_DIR, "templates"), ], *静的ファイル [#cf82158d] /static以下のパスでSTATIC_FILE_DIRS配列に検索にいく。BASE_DIRは予約済み定数でプロジェクトのROOTを示す。manage.pyと同じところにstatic作っておく、 -settings.pyに以下を追加 STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static") ]