1

私はDjangoアプリを持っていますが、ユーザーエラー(つまり、URLが存在しないか、権限がない)が表示された場合、それは実行されますmessages.add_message。メッセージには、のエラーの説明へのリンクが含まれています/error/<id>。エラーIDとメッセージを再利用したい場合、どうすればよいですか?私はこのようなことを考えていました:

errors = {1 : "Error message for error id 1", 2 : "Error message for error id 2"}

すべてのビューでアクセスできるように、このような辞書をどこに保存できますか?

4

1 に答える 1

0

urllikeにマップするビューを作成する必要があります/error/<id>。次に、ビュー内に辞書をerrors = {1 : "Error message for error id 1", 2 : "Error message for error id 2"}配置するか、または呼び出されたファイル内にerror_codes.pyそれをインポートしますviews.py<id>次に、渡されたを解析し、正しいurlを返します。templateerror code

このエラーコードのディクショナリがすべてのリクエストで利用できるようにするには、カスタムDjangoミドルウェアの書き込みを使用します。にを追加して、を実装process_template_response(self, request, response)および変更します。すべての応答で、テンプレートやその他の場所でレンダリングされたhttp応答全体でエラーディクショナリを使用できるようになります。response.context_dataerror_code_dictionary

于 2012-08-22T17:46:07.570 に答える