今更一から勉強しよう

勉強のノート。

Python、Djangoの勉強(3)

2020/03/22

今日の目標 - PostgreSQLをA5で操作する - DjangoPostgreSQLを操作する
A5でデータベース接続は難しいことはない。
f:id:ebi40:20200322113024p:plain

と思ったらエラーが発生した。どうやら古いA5がpostgreSQL12に対応していないらしい
f:id:ebi40:20200322114009p:plain
参考:トピック: 【不具合報告】接続エラー |
最新のA5にして接続OK。
以下、DjangopostgreSQLの操作に挑戦。
参考: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の管理画面からは既にデータベースに作成されているテーブルを操作できないようだ。
f:id:ebi40:20200322131504p:plain
Djangoにアプリケーションを作成し、モデルを追加してみる。

python manage.py startapp cms

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でテーブルが作成されていることを確認。
f:id:ebi40:20200322134501p:plain

Djangoの管理サイトで作成したモデルを編集できるようにする。
cms/admin.pyを編集。

from django.contrib import admin
from cms.models import Book, Impression

admin.site.register(Book)
admin.site.register(Impression)

管理画面でデータを登録 f:id:ebi40:20200322134248p:plain A5でデータが登録されていることを確認 f:id:ebi40:20200322134606p:plain


目標まで達成したので、当初の予定通り公式のチュートリアルを実施する。

今更一からHTML+CSSを学ぶ

2020/03/13

読んでいる本:HTML5+CSS3の新しい教科書 改訂新版 基礎から覚える、深く理解できる。

Amazon CAPTCHA
プログラマでない一般向けにやさしく説明してあり、読みやすい。
プログラマが読むと物足りないかもしれないけど自分はポンコツなのでこれがいい。

学んだこと

Python、Djangoの勉強(2)

公式チュートリアルを通じて基本を学ぶ。

docs.djangoproject.com

docs.djangoproject.com

2020/02/12

  • 概要を読む
  • 次から頑張る

2020/03/21

仕事でPyhton、DjangoPostgreSQL環境を使うことになったので仕切り直し。
PythonDjangoはそのまま使ってPycharm、PostgreSQLをインストール。

Pycharm今回はCommunity版をインストール

www.jetbrains.com

PostgreSQL初めて使う。何か一冊読んだ方がいいかもしれない。
導入の仕方

www.dbonline.jp

とりあえずロケールはJapaneseで f:id:ebi40:20200321120106p:plain

DjangoPostgreSQLを適用する方法、とりあえずURLを引いておく
手順が結構あるので今日はDjangoの練習とDBの作成までにする https://qiita.com/shigechioyo/items/9b5a03ceead6e5ec87ec

qiita.com

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

f:id:ebi40:20200321154859p:plain

DjangoApacheで動作させる方法が書いてあった。
今日はいいけど、また見ておく必要がある。

qiita.com

PostgreSQLを進める。まずはPATHの設定。

f:id:ebi40:20200321160425p:plain

psqlコマンドが使えるか確認 OK

psql --version

公式ドキュメント

PostgreSQL 11.5文書

インストール直後は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でユーザを作成する。とりあえず適当に。

f:id:ebi40:20200321165301p:plain
f:id:ebi40:20200321174552p:plain]

f:id:ebi40:20200321174657p:plain

f:id:ebi40:20200321174809p:plain

ユーザを作ったばかりだとデータベースがないので接続できない。 f:id:ebi40:20200321165906p:plain

pgAdminでtablespaceを作成する。

f:id:ebi40:20200321174912p:plain

f:id:ebi40:20200321175005p:plain

pgAdminでデータベースを作成する。
Collation(照合順序)とCharacter Typeはこれでいいのか?
エンコーディングロケールとは合わせないといけないらしいが、選択するところがない。
参考: ロケール(国際化と地域化) | Let's Postgres
granteeは権限を与えられる側。granterは権限を与える側。(postgres固定) f:id:ebi40:20200321170117p:plain
f:id:ebi40:20200321175400p:plain
f:id:ebi40:20200321181103p:plain
f:id:ebi40:20200321181510p:plain

データベース作成後、接続ができるように。 f:id:ebi40:20200321181732p:plain

Create Table発行 f:id:ebi40:20200321182649p:plain

publicスキーマの下に作成された。 f:id:ebi40:20200321182814p:plain

下準備はここまで、明日はDjangoPostgreSQLを接続する。

Python、Djangoの勉強

2020/01/29

インストール

  • Pythonのインストール
  • virtualenvのインストール
  • Djangoをインストールする
  • PyCharm Professional のインストール qiita.com

virtualenvの入り方 (command)

cd c:\work\note\env1
scripts\activate

virtualenvの抜け方 (command)

scripts\deactivate

virtualenvの起動 (command)

python manage.py runserver

virtualenvのアクセス

http://127.0.0.1:8000/

virtualenvの停止 Ctrl + c

2020/01/31

サンプルプロジェクト作成

qiita.com

アプリケーションの作成 (command)

python manage.py startapp cms

モデルの追加
cms/models.pyをメンテナンス

モデルを有効にする
mybook/settings.py の INSTALLED_APPS の最後に 'cms.apps.CmsConfig', 追加

モデルの変更を反映(マイグレートの作成) (command)

python manage.py makemigrations cms

マイグレートによるSQLの内容確認 (command)

python manage.py sqlmigrate cms 0001

データベースに反映(マイグレート) (command)

python manage.py migrate cms

管理サイトのアクセス
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

  • ラズベリーパイ、必要な機器の購入
  • ラズパイにOSインストール
  • ラズパイOS初期設定
  • ラズパイとVNC接続
  • LEDライトを光らせるお試し回路を作成

2019/12/04

  • ラズパイに土壌センサーを接続する方法を調べる
  • ADコンバータが必要とわかる。次回は購入後に作業

2019/12/18

  • ADコンバータを下記URLを参考に接続を試みる
  • webiopiインストール、SPI設定
  • Pythonコード作成
  • LCDシールドの接続とADコンバータの接続が理解できず

www.hiramine.com

「妻のトリセツ」を読んで

人に勧められたので読んでみた。

概要

妻の感情、行動を女性脳の観点から説明している。

感想

夫婦がうまくいかない理由が、女性脳の理解不足にあることがわかった。 結婚前に読んでたら違ったのにな・・・と思った。 ただ、妻はあてはまらないことも多く、妻はちょっと変わってるんだろうか?
【参考になった点】

出産を期に関係が変わる(手遅れだが)
意見を通す時はメリットを示す
褒めるタイミングを考える


【参考にならなかった点(あてはまらない点)】

女の会話の目的は共感・・・共感しても反応がない
妻が求めているのはねぎらい・・・ねぎらっても機嫌が悪い
女性脳は心と事実を別にする・・・興味がないものは最初から会話に出ない
女性はデートする前から楽しむ・・・出かける予定を立てても話題に出ない
好きの言葉を欲しがる・・・一度も欲しがられたことがない

他の家庭ではどれくらいあてはまるんだろう。

まとめ

悪気なく妻を機嫌悪くしても、男と女は考えることが違うのだから、 まあ、しょうがないよねって思うことにします。

プライバシーポリシー

海野海老太は、以下のとおり個人情報保護方針を定め、個人情報保護の仕組みを構築し、個人情報保護の重要性の認識と取組みを徹底することにより、個人情報の保護を推進致します。

個人情報の管理
海野海老太は、お客さまの個人情報を正確かつ最新の状態に保ち、個人情報への不正アクセス・紛失・破損・改ざん・漏洩などを防止するため、セキュリティシステムの維持・管理体制の整備徹底等の必要な措置を講じ、安全対策を実施し個人情報の厳重な管理を行ないます。

個人情報の利用目的
お客さまからお預かりした個人情報は、各アプリ内でのデータ保存、ランキングのみに利用します。

個人情報の第三者への開示・提供の禁止
海野海老太は、お客さまよりお預かりした個人情報を適切に管理し、次のいずれかに該当する場合を除き、個人情報を第三者に開示いたしません。 お客さまの同意がある場合
お客さまが希望されるサービスを行なうために当社が業務を委託する業者に対して開示する場合 法令に基づき開示することが必要である場合

個人情報の安全対策
海野海老太は、個人情報の正確性及び安全性確保のために、セキュリティに万全の対策を講じています。

ご本人の照会
お客さまがご本人の個人情報の照会・修正・削除などをご希望される場合には、ご本人であることを確認の上、対応させていただきます。

法令、規範の遵守と見直し
海野海老太は、保有する個人情報に関して適用される日本の法令、その他規範を遵守するとともに、本ポリシーの内容を適宜見直し、その改善に努めます。

お問い合せ
海野海老太の個人情報の取扱に関するお問い合せは下記までご連絡ください。 海野海老太 sea901ebita@gmail.com