1

私はdjangoを初めて使用し、render_to_responseを使用してユーザーを適切なURLにリダイレクトします。しかし、ブラウザではURLが変更されていないため、表示が悪いために処理されます...

ここにあります

return render_to_response('newworkflow.html/',    
{'form':form,},context_instance=RequestContext(request))

これが私のURLconfです:

url(r'newworkflow/$','access_mgmt.views.newworkflowform'),
url(r'newuser/$','access_mgmt.views.newuser'),

一度newworkflow.html私は良いビューによって処理されないフォームを持っています、実際それはこのrender_to_responseであるものによって処理されます。

ブラウザで同時にURLを変更することは可能render_to_responseですか?

(ソースとターゲット)の両方でcsrf_tokenをアクティブ化したため、render_to_responseを使用します

4

2 に答える 2

3

HttpResponseRedirectクライアントを別の URL にリダイレクトするために使用できます。

render_to_response「特定のテンプレートを特定のコンテキスト ディクショナリでレンダリングし、そのレンダリングされたテキストで HttpResponse オブジェクトを返します。」

クライアントが応答の本文を無視して別の URL に移動する場合、テンプレートを応答にレンダリングしても意味がありません。

代わりに、クライアントを適切な URL にリダイレクトし、その URL に関連付けられたビューからレンダリングされた応答を提供します。

于 2013-03-07T16:33:58.157 に答える
0

「URL」を理解する

あなたが書く

ブラウザで同時に URL を変更することはできますrender_to_responseか?

「URL」が実際に何であるかについて、あなたはあまりにも漠然とした理解を持っていると思います。ブラウザが URL を要求するXと、それが何であれ、送信したものはすべて URL の応答であると見なされますX

したがって、サーバー (あなた!) が実際の HTML コンテンツを送信した場合、URL はブラウザーで変更されることはありません。

ブラウザーで URL を変更するには、(Django の を使用して) リダイレクト応答をブラウザーに送信する必要がありますHttpResponseRedirect。ブラウザはYそこに含まれるURL を取得し、URL を使用してサーバーに別のリクエストを行いますY。これは、ブラウザのアドレス バーにも表示されます。

次に、サーバーは の HTML コンテンツを送信しますY。コンテンツのリダイレクト送信の両方の手順を 1 つの要求に含めることはできません。

于 2016-05-26T08:34:29.723 に答える