Chi's blog

Python テストコードの書き方について [Python] [Django]

Pythonには、unittestというフレームワークがあり、これを使うと素早く単体テストを自動化することができる。

unittestの基本的な使い方に関しては、検索すれば関連文章が山ほどある。

ただ、残念ながら、それらの文章は単なる使い方の紹介であり、単体テストの書き方に関しては紹介していない気がしたので、基本的なものではあるが、その内の一つの考え方を紹介する。

単体テストとは、関数、メソッドなどの小さな単位でプログラムが仕様にない振舞または欠陥(バグ)を出していないかをテストする作業のことを指す。(あくまでも個人の意見)

...
続きを読む

Pythonリストの常用使い方まとめ [Python]

はじめに

リストはpythonでもっともよく使われるデータ構造です。従って、効率よく使う方法を覚えておくと良いでしょう。 自分の経験とネット調査からわかった幾つかの使い方をまとめました。

1. リストのindexを使う方法

普通のやり方

items = [12, 34, 33, 332, 11]
for index in len(items):
    print(index, items[index])

効率的なやり方

続きを読む

Apache2 cgi-bin設定の色々[Apache2][CGI]

背景

apache上での cgi設定と良くでるエラー二つをまとめておきます。

環境

OS : Ubuntu 14
Server : Apache2
Site dir :  /var/www/samplesite/public_html
CGI dir : /var/www/samplesite/cgi-bin

設定

/var/apache2/site-avaliable/sam...

続きを読む


Daemon process called 'django_wsgi' cannot be accessed by this WSGI application [Django][Server]

 問題点 (エラー)

Django projectをサーバーにdeployしようとすると、以下のようなエラーが出ていました。

Daemon process called 'django_wsgi' cannot be accessed by this WSGI application

 解決策

調べて見たら、サーバー側の設定ファイルで、

WSGIProcessGroup xxx

という設定を複数のVirtua...

続きを読む

416 Error of Requests [Python3]

背景

PythonのRequestsライブラリとBeautifulSoapを使ってウェブページのクローリングをやっていたら、あるサイトにページをrequestした時、 416というエラーコードを返していました。

問題点

調べて見ると、サイトのサーバー側でrequestのヘットファイルをみて、ブラウザーからのリクエストかを判断し、そうでない場合ブロックするように設定したのが原因だそうです。

解決案

解決方法は簡単です。requestsの設定でUser-Agentをブラウザーに設定すれば解決でき...

続きを読む

python manage.py migrationが効かない時の対処法 [Django]

背景

Djangoで開発する時、よく遭うな問題がいつくかあります。

例えば、

  1. modelを変更したけど、migrateできない
  2. 新しいjs, css, imgファイルを追加した時に、急に collectstaticが効かなくなる

など。

Djangoに対する理解が浅いせいか、私は頻繁に遭っています。

今回はそのうちのmigrateできない時の対処法をまとめます。


migrationの流れ

...

続きを読む