Narito Takizawa 札幌在住の、Webエンジニア。Python/Djangoでのバックエンド開発や講師業をしています。 趣味はピアノとギター 著書 Github toritoritorina@gmail.com
たとえばこんなフォームのテストをしたいとき from django import forms class HogeForm(forms.Form): name = forms.CharField(max_length=100) image = forms.ImageField(upload_to='images/') テスト用のダミー画像を用意するのもいいが、ダミー画像なしでテストする方法として、PILとSimpleUploadedFileを使ってアップロードされた画像ファイルっぽいものを作ってテストできる。 gistff7336608fca2c889955 使い方 from django.test import TestCase from your_app_name.forms import HogeForm from inmemory_image_generator import ge
POSTで画像アップロードがあるフォームのテストを書く方法を調べる機会があったのでメモしておく from django.test import TestCase class UploadTest(TestCase): def test_upload(self): with open('test.jpg') as f: res = self.client.post('images/upload/', {'title': 'test_image', 'image': f}) self.failUnlessEqual(res.status_code, 200) このように、ファイルハンドラをそのままpostにdataとして渡すことでうまくいきました。 ついでにちょっとpostメソッドの中身を見てみると、content_typeはデフォルトでmultipartなのがわかります def post(s
Django ORM の QuerySet には、select_related および prefetch_related というメソッドがありますが、イマイチ使い勝手がよく分からなかったりします。 公式ドキュメントにはこう書いてありますが、 select_related works by creating an SQL join and including the fields of the related object in the SELECT statement. For this reason, select_related gets the related objects in the same database query. However, to avoid the much larger result set that would result from joining a
はじめに Djangoで文字コードがutf8mb4のMySQLデータベースを利用するためのメモです。 絵文字を含むデータを使うために文字コードがutf8mb4のデータベースを作成したのですが、クライアント側の文字コード設定を忘れてしまい、レコード追加時に下記のエラーが発生してしまったので設定方法をまとめました。 django.db.utils.InternalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x8C\\xBF\\x0Ai...' for column 'message' at row 1") 環境 CentOS 7.4 Python 3.6.3 Django 1.11.5 MySQL 5.7.20 PyMYSQL 0.7.11 方法 MySQL接続に必要なパッケージのインストール Python実装のMySQLクライアント
このあいだ自分がプライベートで運営している動画サイトにAPIが欲しかったので、django-rest-frameworkを使ってみました。日本語の資料が少なかったので、布教目的でここに置いておきます。 欲しかった機能はこんな感じ。 モデルデータのCRUD モデルの特定フィールドの検索 多対多(ManyToMany)でよろしくやる 登録ユーザのみ許可する認証処理 pythonスクリプトからAPIを使う(おまけ) 可能なのかどうか半信半疑で使ってみましたが、チュートリアルに全部書いてあったので参考になれば。 今回はTutorial 1: Serialization(version 3系)の超意訳です。 第01回「シリアライズ」(今ココ) 第02回「リクエストとレスポンス」 第03回「クラスベースのビュー」 第04回「認証と許可」 第05回「リレーションシップとハイパーリンクAPI」 第06回「
かなり更新をサボってしまっていました。2018/05/19に開催されたDjangoCongressにスピーカとして参加してきましたので参加記録をまとめておきます。 発表内容 いまさら振り返る Django Migrationという内容でmanage.py migrateやmanage.py makemigrationsのソースを追っかけたりする内容でした。 speakerdeck.com 45分で資料が90枚あって余裕がないと思いきや、急ぎすぎて7分あまるとか色々と後悔する部分はありますがいい経験ができたと思います。 もともとこの内容は自分が雰囲気でマイグレーションをやっていたのでちゃんと中身を知りたいなと思ったのがきっかけで、CfPを出した時点ではまだソースをちゃんと読み込んではいませんでした。CfPの倍率も3-4倍と聞いていたので、さすがに通らないだろうと高を括っていたらまさかの採用、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く