[解決済み] Django - render(), render_to_response() と direct_to_template() の違いは何ですか?
質問
Python/jangoの初心者が理解できる言語で)ビューの違いは何ですか?
render()
,
render_to_response()
と
direct_to_template()
?
def comment_edit(request, object_id, template_name='comments/edit.html'):
comment = get_object_or_404(Comment, pk=object_id, user=request.user)
# ...
return render(request, template_name, {
'form': form,
'comment': comment,
})
しかし、私はまた
return render_to_response(template_name, my_data_dictionary,
context_instance=RequestContext(request))
そして
return direct_to_template(request, template_name, my_data_dictionary)
どのような違いがあるのか、どのような状況で使用するのか?
どのように解決するのですか?
https://docs.djangoproject.com/en/1.8/topics/http/shortcuts/#render
render(request, template[, dictionary][, context_instance][, content_type][, status][, current_app])
render()
の全く新しいショートカットです。
render_to_response
1.3では、自動的に
RequestContext
今後、間違いなく使用することになるでしょう。
2020年版EDIT:注意すべきは
render_to_response()
は Django 3.0 で削除されました。
https://docs.djangoproject.com/en/1.8/topics/http/shortcuts/#render-to-response
render_to_response(template[, dictionary][, context_instance][, mimetype])¶
render_to_response
は、チュートリアルなどで使用されている標準的なレンダー関数です。使用方法としては
RequestContext
を指定する必要があります。
context_instance=RequestContext(request)
direct_to_template
は、私が(URLではなく)ビューで使用している汎用ビューです。
render()
関数を使用すると、自動的に
RequestContext
とそのすべての
context_processor
s.
しかし
direct_to_template
避けるべき
関数ベースの汎用ビューは非推奨であるため。どちらかというと
render
または実際のクラスです。
https://docs.djangoproject.com/en/1.3/topics/generic-views-migration/
を打たなくてよかった。
RequestContext
長い間、長い間
関連
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] リストとタプルの違いは何ですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenvなどの違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Python Decorator 練習問題
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Pythonによるjieba分割ライブラリ
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】ValueError: xとyは同じサイズでなければならない