親です。

子ども産まれたんで育児とかについて書きます。映画とか心理学とかITとかの趣味についても書きます。

【索引】真面目に書いた記事

おつです。真面目に書いた記事をまとめとく。(未来の投稿日時だからトップにくるぞ)

 

思いました系記事

  1. 16_導入および第一ターニングポイントについて - 親です。
  2. 20_ミュージカル映画2本「アニー」「ピッチパーフェクト」 - 親です。
  3. Mommy - 親です。
  4. コミュニケーションと権力関係について - 親です。
  5. 絶望と責任について - 親です。
  6. 【映画感想】『ROOM』と未評価な地点について - 親です。
  7. クソな夫婦喧嘩を「論点」の概念から考える。 - 親です。
  8. 優しさと責任範囲について - 親です。
  9. ゆらぎ荘の幽奈さん問題ーーセックスとレイプは別物じゃヨ - 親です。
  10. 素直さについての雑記 - 親です。
  11. 幸福学っての、慶應でも流行ってるじゃないすか - 親です。
  12. 小説について最近思うこと - 親です。
  13. 『その後の不自由 「嵐」のあとを生きる人たち』を読んで - 親です。
  14. 嫌なことにも依存はするよな、って話 - 親です。
  15. 馬鹿にされて馬鹿にし返すことについて - 親です。
  16. 親になることと責任について - 親です。

 

技術系記事

  1. 【Python】スキルマップつくった - 親です。
  2.  【Python】自然言語処理わけわかんねえからまとめる。 - 親です。
  3.  【Python】Djangoわけ分かんねえからまとめる - 親です。

 

 心理学系記事

  1. 【心理学】データ分析的な記事まとめ - 親です。 

 

 

これは随時更新する。なんか真面目なお話のネタは10個以上あって、けどあんま記事にするくらいまとまったら書けばいいかなーなんて思ってたら全然書けねえし鮮度も落ちてきてしまいそうだったので、早々に書いてしまうことにする。だいたい全部一年以上前に思いついたことだが、書かないと忘れそう。

【Python】仮想環境とかシェバンとかDjangoとかサーバ上でDjangoとか

おつです。環境周りのところがさらっと解決したので学びをまとめる。つーかまあリンク集にするだけだけどね。

仮想環境

やり方

このサイトの通りやったらできた。 Pythonの仮想環境を構築できるvirtualenvを使ってみる

なぜvirtualenvが必要か?

ライブラリのバージョンとかがプロジェクトごとに違ったりする時ややこしくなるから、だそうです。 teratail.com

シェバン

これはteratailに起票した。 teratail.com

Djangoプロジェクトの開始方法

ここがよかった。

python.zombie-hunting-club.com

サーバ上でDjango

この記事でやった。

paiza.hatenablog.com

以上やねん。。

【Python】Djangoまとめ テストの仕方

おつです。テストの仕方をまとめんぞ。

概要

Djangoには専用のテストライブラリがあるのでそれどう使うかまとめる。テストの時の流れとか、掴めるようにする。

テストの仕方

流れとしては

  1. テスト用データの生成
  2. レスポンスオブジェクトの取得
  3. レスポンスがテンプレートを使っているかのテスト
  4. レスポンスを描画した結果、対象文字列が含まれるかテスト
  5. その他、仕様書に定められた要件を確認するテスト

それぞれがテストコードの中でどう表現されているかというと、

```Python
from django.core.urlresolvers import reverse
from django.test import TestCase
from catalogue.models import Category, Product

class TestProductList(TestCase):
def test_get(self):
#
# テスト用データの生成
category = Category.objects.create(name='カテゴリー1')
Product.objects.create(name="テスト1", price=100, category=category)
Product.objects.create(name="テスト2", price=200, category=category)
#
# レスポンスオブジェクトの取得
res = self.client.get(reverse('product_list'))
#
# レスポンスがテンプレートを使っているかのテスト
self.assertTemplateUsed(res, 'catalogue/product_list.html')
#
# レスポンスを描画した結果、対象文字列が含まれるかテスト
self.assertContains(res, 'テスト1')
self.assertContains(res, '100円')
self.assertContains(res, 'テスト2')
self.assertContains(res, '200円')
self.assertContains(res, 'カテゴリー1')
#
# その他、仕様書に定められた要件を確認するテスト(今回はなし)
```



以上。

【Python】Djangoまとめ Templateについて

おつです。今回はTemplateのHTMLについて書くぞ。

概要

webアプリにはフロントエンドとバックエンドってのがある。何かっていうと、ユーザの見ているブラウザ上で動いているのがフロントエンド、サーバ側でデータをやりとりしたりしてんのがバックエンドだ。
Pythonは基本的にバックエンドなんだが、フロントのHTMLとかを簡単に書けるように色々やってくれる機能が備わっている。そのひとつがTemplate機能だ。

【Python】Djangoまとめ URLsについて

おつです。今回はDjangoのうちURLsの書き方などについてまとめる。

概要

URLsの役割は、あるURLにアクセスがあった時、どのView関数を返せばいいかを示すことだ。つまり、新しいページの追加を行ったときはURLsに登録しておく必要がある。

書き方

こんなふう。

from django.conf.urls import url
from django.contrib import admin
import catalogue.views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^products/(\d+)/$', catalogue.views.product_detail, name='product_detail'),
    url(r'^$', catalogue.views.product_list, name='product_list'),
]

たぶん一番わかんないのは、 url(r'^products/(\d+)/$', catalogue.views.product_detail, name='product_detail'), ここの部分だろう。この記述は三つの引数からなるが、それぞれ説明を加えると、 r'^products/(\d+)/$'
登録されたURL
catalogue.views.product_detail
登録されたURLにアクセスがあったときに呼び出す関数 name='product_detail'

となる。

バリエーション

ここは随時更新する。以上!

【Python】Djangoまとめ modelのバリエーション

おつです。今回はModelのところをまとめるぞ。

概要

ModelとはDjangoの構成要素の一つで、データを扱うものだ。例えば名簿を載せるWebサイトを作りたいとして、名簿に載る一つ一つの名前がある。それはこのModelによって定義づけられて、Webページ上に表示される。

書き方

まあ言葉で説明するよりコードを見せたほうが早い。

from django.db import models

class Category(models.Model):
    """ カテゴリー
    """
    name = models.CharField("カテゴリー名", max_length=32)

class Product(models.Model):
    """ 製品
    """
    category = models.ForeignKey(Category, null=True, blank=True,
                                 on_delete=models.SET_NULL)
    name = models.CharField("商品名", max_length=128)
    price = models.PositiveIntegerField("価格")

こんな感じ。たぶん、テーブル単位でクラスを切って、そんでクラスの構成要素として使いたい変数を設定している。なんとなくわかると思うが、models.CharField("商品名", max_length=128)ってのはデータのタイプが文字(?)で、名前は商品名で、データの最大の大きさは128桁まで、という意味だ(と思う)。models.ForeignKey(Category, null=True, blank=True, on_delete=models.SET_NULL)は外部テーブルのキーになっているデータで、名前はカテゴリーによって異なり、NULLもブランクもアリだけどNULLセットされてたらこのインスタンスは削除、かな??

バリエーション

ここは随時更新する。以上!

【Python】Djangoまとめ viewのバリエーション

おつです。今回はview関数のところについてまとめる。

概要

View関数ってのはformとかmodelから変数をもらってきてHTMLファイル相手に埋め込んでくれたりする関数のことだ。そこでどんなことができるかまとめる。

基本

基本の形は以下。

from django.template.response import TemplateResponse
from catalogue.models import Product


def product_list(request):
    products = Product.objects.order_by('name')
    return TemplateResponse(request, 'catalogue/product_list.html',
                            {'products': products})

バリエーション

データの取り出し方が色々ある。


随時更新する。以上!!