#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") ]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS