ファイル保存の後に別のviewを実行したい
html
1<form action="{% url 'ex' %}" method="POST" enctype="multipart/form-data"> 2 {{ form.as_p }} 3 {% csrf_token %} 4 <input type="submit" name="button_1" value="実行"> 5</form>
のように書いているのですが、
{% url 'ex' %} が入力されていると、viewの exが実行され、
{% url 'ex' %} を入力しないとファイルの保存はできますが、当然 viewのexが
動きません。
保存した後に viewのexを動かす方法を教えていただきたいです。
以下 動作をさせたい理由,やったこと
templateでファイル保存 → 保存した後 pythonのプログラムを実行して ファイルを操作する
→ ダウンロードする → 保存したファイルを削除する
を動作させたいと思い、
view
1class SingleUploadView(generic.FormView): 2 form_class =SingleUploadForm 3 template_name = 'e.html' 4 5 def ex(request): 6 print(request.method) 7 if request.method == 'POST': 8 if 'button_1' in request.POST: 9 print('asaa') 10 11 def form_valid(self, form): 12 download_url = form.save() 13 context = { 14 'download_url': download_url, 15 'form': form, 16 } 17 return self.render_to_response(context) 18
と しましたが、 requestエラーやselfの部分でエラーが頻発した為、
def exを別で動かした後 SingleUploadView に戻る処理へ変えようと考え、
view2
1def ex(request): 2 print(request.method) 3 if request.method == 'POST': 4 if 'button_1' in request.POST: 5 print('asaa') 6 return redirect('xlvlk11') 7 8 9 10class SingleUploadView(generic.FormView): 11 form_class =SingleUploadForm 12 template_name = 'excelvlook.html' 13 14 def form_valid(self, form): 15 download_url = form.save() 16 context = { 17 'download_url': download_url, 18 'form': form, 19 } 20 return self.render_to_response(context)
としたため、htmlを上記のように変更しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。