Chi's blog

python で非常に使用頻度が高い tip 9選 [Python]

背景

Pythonで使用頻度が高い、使うと割と便利なtip 10個をまとめてみた。


TIP 1 : 逆文字列を作る時

>>> a='abcde'
>>> print(a[::-1])
edcba

TIP 2 : 二つのリストで対応位置の要素同士で何らかの操作をしたい時

>>> a=[1,2,3]
>>> b=[2,3,4]
>>> ...
                            
                        
続きを読む

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

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

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

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

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

...
続きを読む

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の流れ

...

続きを読む

ページネーション機能の追加 [Django]

条件

MyBlogというモデルから定義されたテーブルにブログ文章データがあるとします。

@python_2_unicode_compatible
class MyBlog(models.Model):
    title = models.CharField(max_length=255)
    body = MarkdownxField()
    author = models.ForeignKey(User, null=True)
    publishing_date = models.DateTimeField(aut...
                            
                        
続きを読む