[解決済み] django でファイルアップロードをユニットテストする方法
2022-09-01 21:06:11
質問
私の django アプリでは、ファイルのアップロードを行うビューがあります。
...
if (request.method == 'POST'):
if request.FILES.has_key('file'):
file = request.FILES['file']
with open(settings.destfolder+'/%s' % file.name, 'wb+') as dest:
for chunk in file.chunks():
dest.write(chunk)
ビューをユニットテストしたいと思います。ハッピーパスとフェイルパスをテストするつもりです。
request.FILES
がキー 'file' を持っていない場合や
request.FILES['file']
には
None
..
ハッピーパスの投稿データはどのように設定するのですか?誰か教えてください。
どのように解決するのですか?
Django のドキュメントから
Client.post
:
ファイルの投稿は特殊なケースです。ファイルを POST するために必要なのは ファイルフィールド名をキーとして与え、アップロードしたいファイルへのファイルハンドルを値として与えるだけです。 を値として提供するだけです。例えば
c = Client()
with open('wishlist.doc') as fp:
c.post('/customers/wishes/', {'name': 'fred', 'attachment': fp})
関連
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Pythonの関数が例外を投げるかどうかをテストするにはどうすればよいですか?
-
[解決済み] jQuery Ajax ファイルアップロード
-
[解決済み] TDDのためのJavaScriptユニットテストツール
-
[解決済み] HTTPファイルアップロードの仕組みを教えてください。
-
[解決済み] QuerySetで空白またはNULLの名前をフィルタリングする方法は?
-
[解決済み] 保存時に、フィールドが変更されたかどうかを確認するにはどうすればよいですか?
-
[解決済み】Djangoでモデルインスタンスをシリアライズする方法は?
-
[解決済み] Django REST フレームワーク: 非モデルシリアライザー
-
[解決済み] Django の日付テンプレートのデフォルトフォーマットを変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
AttributeError: 'str' オブジェクトには 'decode' という属性がありません。
-
Django QuerySet マルチテーブル結合/条件付きピッキング/マージ
-
[解決済み] pipと要件ファイルを使って、特定のパッケージをアップグレードするにはどうすればよいですか?
-
[解決済み] Django のカスタムフィールドで User モデルを拡張する
-
[解決済み] Django の修正 管理者の複数形
-
[解決済み] Django のモデルで電話番号を保存する最良の方法は何ですか?
-
[解決済み] Django モデルで外部キーフィールドをオプションにすることはできますか?
-
[解決済み] django テンプレートで "ブロック" を繰り返す方法
-
[解決済み] Django admin: データベースフィールドを持たないカスタム list_display フィールドの1つでソートする方法
-
[解決済み] Django の DoesNotExist 例外はどのようにインポートしますか?