私はDjangoを初めて使用しており、アップロードファイルフォームをインクルードタグに入れようとしています。だから私はさまざまなテンプレートでそれを使用することができます。djangoインクルージョンテンプレートタグの処理要求
私は、次の包含タグ作成しました:
:私は次のエラーを取得する#mypage.html {% extends 'base.html' %} {% load upload_files %} {% upload_handler %}
:私はページ上のように、私は、今、テンプレートでこれを含めたい
#upload_files.py @register.inclusion_tag('upload_form.html') def upload_handler(context): request = context['request'] view_url = reverse('upload.views.upload_handler') if request.method == 'POST': form = UploadForm(request.POST, request.FILES) if form.is_valid(): form.save() return HttpResponseRedirect(view_url) upload_url, upload_data = prepare_upload(request, view_url) form = UploadForm() upload_model_list = UploadModel.objects.all().order_by('-pub_date')
を
upload_handler takes 1 arguments
テンプレートからどのような引数を渡す必要がありますか?あなたがDjangoは関数にコンテキストオブジェクトを渡す取得するタグを登録するときにtakes_context=True
を追加する必要が
私はこの問題を抱えています!私は、ログインフォームが含まれているため、私のウェブページ上のどこにでもテンプレートタグを使用しています。ログイン後、(request.POSTを介して)テンプレートタグ内の何かを変更するパラメータを渡そうとしますが、ログインtemplatetagが再びリロードされると、request.method = GET !!!私はそのパラメータを見つけることができません。どのようにそのパラメータを見つけることができますか? – juankysmith
フォームが送信された後にログインビューがリダイレクトする可能性があるため、メソッドは 'GET'を再度実行しますので、リクエストデータにアクセスすることはできません。 –
ログインビューはリダイレクトで終了します。 。 – juankysmith