Python、Djangoの勉強(3)
2020/03/22
今日の目標
- PostgreSQLをA5で操作する
- DjangoでPostgreSQLを操作する
A5でデータベース接続は難しいことはない。
と思ったらエラーが発生した。どうやら古いA5がpostgreSQL12に対応していないらしい
参考:トピック: 【不具合報告】接続エラー |
最新のA5にして接続OK。
以下、DjangoでpostgreSQLの操作に挑戦。
参考:Djangoで使うDBをSQLiteからPostgreSQLに変更する手順 - Qiita
参考:DjangoにPostgreSQLを適用する - Qiita
Djangoにpsycopg2をインストール。
pip install psycopg2
Djangoのsettings.pyを編集。
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'test', # 作ったDB名
'USER': 'test', # 作ったユーザー名
'PASSWORD': 'test', # ユーザー作った時のパスワード
'HOST': 'localhost',
'PORT': '5432',
}
}
マイグレート。1回目は失敗したが、もう一度psycopg2をインストールしたらうまくいった。なんだ?
python manage.py migrate
スーパーユーザ作成。python、password
このパスワードは一般的すぎますと怒られる。
python manage.py createsuperuser
Djangoの管理画面からは既にデータベースに作成されているテーブルを操作できないようだ。
Djangoにアプリケーションを作成し、モデルを追加してみる。
models.pyにデータを定義。面倒なので前に使った演習をそのまま使う。
settings.pyにcms/apps.pyの値を設定する。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'cms.apps.CmsConfig',
]
モデルの変更を反映。
python manage.py makemigrations cms python manage.py migrate cms
A5でテーブルが作成されていることを確認。
Djangoの管理サイトで作成したモデルを編集できるようにする。
cms/admin.pyを編集。
from django.contrib import admin
from cms.models import Book, Impression
admin.site.register(Book)
admin.site.register(Impression)
管理画面でデータを登録 A5でデータが登録されていることを確認
目標まで達成したので、当初の予定通り公式のチュートリアルを実施する。
今更一からHTML+CSSを学ぶ
2020/03/13
読んでいる本:HTML5+CSS3の新しい教科書 改訂新版 基礎から覚える、深く理解できる。
Amazon CAPTCHA
プログラマでない一般向けにやさしく説明してあり、読みやすい。
プログラマが読むと物足りないかもしれないけど自分はポンコツなのでこれがいい。
学んだこと
- HTML作成アプリケーションは「Dreamweaver」「Brackets」「VisualStudio Code」「ATOM」「Sublime Text」など
- Phososhopはピクセルベースの素材作成に適している
- Illustratorはベクター形式の画像作成に適している
- Sketch、AdobeXDはスマートフォンのデザイン向け
Python、Djangoの勉強(2)
公式チュートリアルを通じて基本を学ぶ。
2020/02/12
- 概要を読む
- 次から頑張る
2020/03/21
仕事でPyhton、Django、PostgreSQL環境を使うことになったので仕切り直し。
Python、Djangoはそのまま使ってPycharm、PostgreSQLをインストール。
Pycharm今回はCommunity版をインストール
PostgreSQL初めて使う。何か一冊読んだ方がいいかもしれない。
導入の仕方
とりあえずロケールはJapaneseで
DjangoにPostgreSQLを適用する方法、とりあえずURLを引いておく
手順が結構あるので今日はDjangoの練習とDBの作成までにする
https://qiita.com/shigechioyo/items/9b5a03ceead6e5ec87ec
virsual envをenv2で作成する
cd c:\work\note
virtualenv env2
Djangoインストール
pip install django
pycharmがcommunity版だからか、Pythonコードからvirtual envが動かせない・・・
デバッグできない・・・
とりあえずコマンドプロンプトで動作させていく。
PycharmProjectsにDjangoプロジェクトtest2を作成。
django-admin startproject test1
動作確認OK
python manage.py runserver
http://127.0.0.1:8000にアクセス
migrate OK
python manage.py migrate
pycharmでdebugする方法が書いてあった。
debugできそうだ。
https://qiita.com/misayaki216/items/7229e325516172e3029b
DjangoをApacheで動作させる方法が書いてあった。
今日はいいけど、また見ておく必要がある。
PostgreSQLを進める。まずはPATHの設定。
psqlコマンドが使えるか確認 OK
psql --version
公式ドキュメント
インストール直後はsuper userのpostgresのみ存在しているらしい。
psql -U postgres -d postgres
切断
postgres=# \q
postgresql.conf設定ファイル。とりあえずそのままとする。
...\PostgreSQL\12\data\postgresql.conf
pg_hba.confは接続許可に関する設定。いずれ理解する。
...\PostgreSQL\12\data\pg_hba.conf
ログ
...\PostgreSQL\12\data\log\postgresql...sql
以下のサイトでpostgreSQLの基本を知ることから導入まで網羅できる。 qiita.com
基本的な構造
データベースサーバ
└ 1:N データベース
└1:N スキーマ(デフォルト:Public)
└1:N テーブル、インデックス等
pgAdminでユーザを作成する。とりあえず適当に。
]
ユーザを作ったばかりだとデータベースがないので接続できない。
pgAdminでtablespaceを作成する。
pgAdminでデータベースを作成する。
Collation(照合順序)とCharacter Typeはこれでいいのか?
エンコーディングとロケールとは合わせないといけないらしいが、選択するところがない。
参考:
ロケール(国際化と地域化) | Let's Postgres
granteeは権限を与えられる側。granterは権限を与える側。(postgres固定)
データベース作成後、接続ができるように。
Create Table発行
publicスキーマの下に作成された。
下準備はここまで、明日はDjangoとPostgreSQLを接続する。
Python、Djangoの勉強
2020/01/29
インストール
virtualenvの入り方 (command)
cd c:\work\note\env1
scripts\activate
virtualenvの抜け方 (command)
scripts\deactivate
virtualenvの起動 (command)
python manage.py runserver
virtualenvのアクセス
virtualenvの停止 Ctrl + c
2020/01/31
サンプルプロジェクト作成
アプリケーションの作成 (command)
モデルの追加
cms/models.pyをメンテナンス
モデルを有効にする
mybook/settings.py の INSTALLED_APPS の最後に 'cms.apps.CmsConfig', 追加
モデルの変更を反映(マイグレートの作成) (command)
マイグレートによるSQLの内容確認 (command)
データベースに反映(マイグレート) (command)
管理サイトのアクセス
http://127.0.0.1:8000/admin/
管理サイトのアイテム追加
admin.pyに以下を記述
admin.site.register(モデル)
次の演習へ
- 一覧画面の作成
- 登録画面の作成
- 編集、削除画面の作成 qiita.com
Bootstrapの導入
Bootstrap - http://getbootstrap.com/ (v4.0.0)
jQueryの導入
Download jQuery | jQuery
登録/修正のフォーム系HTMLは django-bootstrap4 という Python モジュールを使用。 GitHub - zostera/django-bootstrap4: Bootstrap 4 integration with Django.
2020/02/05
- 一覧画面の作成、 登録画面の作成、 編集、削除画面の作成の続き
- models.pyの定義をforms.pyでフォームにする
- views.pyでforms.pyの定義を変数formに格納する
- htmlで{% bootstrap_form form layout='horizontal' %} としてformをHTMLに展開する
- htmlはbase.htmlを継承{% extends "cms\base.html" %}
2020/02/12
構造が少しわかってきた。 urls.py → views.py → forms.py →models.py → ***.html
ラズベリーパイで自動水やり装置作成
やったことの備忘録。
~2019/12/04
2019/12/04
- ラズパイに土壌センサーを接続する方法を調べる
- ADコンバータが必要とわかる。次回は購入後に作業
2019/12/18
「妻のトリセツ」を読んで
人に勧められたので読んでみた。
概要
妻の感情、行動を女性脳の観点から説明している。
感想
夫婦がうまくいかない理由が、女性脳の理解不足にあることがわかった。
結婚前に読んでたら違ったのにな・・・と思った。
ただ、妻はあてはまらないことも多く、妻はちょっと変わってるんだろうか?
【参考になった点】
出産を期に関係が変わる(手遅れだが)
意見を通す時はメリットを示す
褒めるタイミングを考える
【参考にならなかった点(あてはまらない点)】
女の会話の目的は共感・・・共感しても反応がない
妻が求めているのはねぎらい・・・ねぎらっても機嫌が悪い
女性脳は心と事実を別にする・・・興味がないものは最初から会話に出ない
女性はデートする前から楽しむ・・・出かける予定を立てても話題に出ない
好きの言葉を欲しがる・・・一度も欲しがられたことがない
他の家庭ではどれくらいあてはまるんだろう。
まとめ
悪気なく妻を機嫌悪くしても、男と女は考えることが違うのだから、 まあ、しょうがないよねって思うことにします。
プライバシーポリシー
海野海老太は、以下のとおり個人情報保護方針を定め、個人情報保護の仕組みを構築し、個人情報保護の重要性の認識と取組みを徹底することにより、個人情報の保護を推進致します。
個人情報の管理
海野海老太は、お客さまの個人情報を正確かつ最新の状態に保ち、個人情報への不正アクセス・紛失・破損・改ざん・漏洩などを防止するため、セキュリティシステムの維持・管理体制の整備徹底等の必要な措置を講じ、安全対策を実施し個人情報の厳重な管理を行ないます。
個人情報の利用目的
お客さまからお預かりした個人情報は、各アプリ内でのデータ保存、ランキングのみに利用します。
個人情報の第三者への開示・提供の禁止
海野海老太は、お客さまよりお預かりした個人情報を適切に管理し、次のいずれかに該当する場合を除き、個人情報を第三者に開示いたしません。
お客さまの同意がある場合
お客さまが希望されるサービスを行なうために当社が業務を委託する業者に対して開示する場合
法令に基づき開示することが必要である場合
個人情報の安全対策
海野海老太は、個人情報の正確性及び安全性確保のために、セキュリティに万全の対策を講じています。
ご本人の照会
お客さまがご本人の個人情報の照会・修正・削除などをご希望される場合には、ご本人であることを確認の上、対応させていただきます。
法令、規範の遵守と見直し
海野海老太は、保有する個人情報に関して適用される日本の法令、その他規範を遵守するとともに、本ポリシーの内容を適宜見直し、その改善に努めます。
お問い合せ
海野海老太の個人情報の取扱に関するお問い合せは下記までご連絡ください。
海野海老太 sea901ebita@gmail.com