FAQ:管理者—Djangoドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/faq/admin
移動先:案内検索

FAQ:管理者

ログインできません。 有効なユーザー名とパスワードを入力すると、エラーメッセージなしでログインページが再度表示されます。

Djangoによって送信されたCookieのドメインがブラウザのドメインと一致しないため、ログインCookieが正しく設定されていません。 ドメインに一致するように:setting: `SESSION_COOKIE_DOMAIN` 設定を設定してみてください。 たとえば、ブラウザで「 https://www.example.com/admin/ 」にアクセスする場合は、SESSION_COOKIE_DOMAIN = 'www.example.com'を設定します。


ログインできません。 有効なユーザー名とパスワードを入力すると、「正しいユーザー名とパスワードを入力してください」というエラーが表示され、ログインページが再度表示されます。

ユーザー名とパスワードが正しいことを確認する場合は、ユーザーアカウントの is_activeis_staff がTrueに設定されていることを確認してください。 管理サイトは、これら2つのフィールドが両方ともTrueに設定されているユーザーにのみアクセスを許可します。


管理者でオブジェクトを最後に編集したユーザーにフィールドの値を自動的に設定するにはどうすればよいですか?

ModelAdmin クラスは、リクエストの詳細を使用して、保存時にオブジェクトを変換できるカスタマイズフックを提供します。 リクエストから現在のユーザーを抽出し、 save_model()フックをカスタマイズすることで、オブジェクトを更新して、それを編集したユーザーを反映させることができます。 例については、 ModelAdminメソッドに関するドキュメントを参照してください。


オブジェクトを作成したユーザーだけがオブジェクトを編集できるように、管理者アクセスを制限するにはどうすればよいですか?

ModelAdmin クラスは、管理者内のオブジェクトの可視性と編集可能性を制御できるカスタマイズフックも提供します。 リクエストからユーザーを抽出するのと同じトリックを使用して、 get_queryset()has_change_permission()を使用して、管理者内のオブジェクトの可視性と編集可能性を制御できます。


管理サイトのCSSと画像は、開発サーバーを使用すると正常に表示されましたが、mod_wsgiを使用すると表示されません。

「mod_wsgiでDjangoを使用する方法」のドキュメントの管理ファイルの提供を参照してください。


「list_filter」にはManyToManyFieldが含まれていますが、フィルターが表示されません。

関連するオブジェクトが2つ未満の場合、DjangoはManyToManyFieldのフィルターをわざわざ表示しません。

たとえば、 list_filtersites が含まれていて、データベースにサイトが1つしかない場合、「サイト」フィルターは表示されません。 その場合、サイトによるフィルタリングは無意味になります。


一部のオブジェクトが管理者に表示されていません。

行数の不整合は、外部キー値が欠落しているか、外部キーフィールドが null = False に誤って設定されていることが原因である可能性があります。 ForeignKey が存在しないオブジェクトを指しているレコードがあり、その外部キーが list_display である場合、Djangoモデルが宣言しているため、レコードは管理者変更リストに表示されません。データベースレベルで実装されていない整合性制約。


管理インターフェイスの機能をカスタマイズするにはどうすればよいですか?

いくつかのオプションがあります。 Djangoが自動的に生成する追加/変更フォームの上に便乗したい場合は、モデルのクラスAdmin jsパラメーターを介して任意のJavaScriptモジュールをページにアタッチできます。 このパラメータは、<script>タグを介して管理フォームに含まれるJavaScriptモジュールを指す文字列としてのURLのリストです。

自動生成されたフォームを微調整することで実現可能な以上の柔軟性が必要な場合は、管理者用のカスタムビューを自由に作成してください。 管理者はDjango自体を利用しており、認証システムにフックするカスタムビューを作成したり、権限を確認したり、必要なことをすべて実行したりできます。

管理インターフェイスのルックアンドフィールをカスタマイズする場合は、次の質問をお読みください。


動的に生成された管理サイトは醜いです! どうすれば変更できますか?

気に入っていますが、同意できない場合は、CSSスタイルシートや関連する画像ファイルを編集して管理サイトのプレゼンテーションを変更できます。 このサイトはセマンティックHTMLと多くのCSSフックを使用して構築されているため、スタイルシートを編集することで、必要な変更を加えることができます。


管理者を使用するためにサポートされているブラウザは何ですか?

管理者は、最新のWeb標準に準拠したブラウザーの最新バージョンに完全に機能するエクスペリエンスを提供します。 デスクトップでは、これはChrome、Edge、Firefox、Opera、Safariなどを意味します。

モバイルおよびタブレットデバイスでは、管理者はWeb標準に準拠したブラウザーにレスポンシブエクスペリエンスを提供します。 これには、AndroidとiOSの両方の主要なブラウザが含まれます。

機能のサポートによっては、ブラウザ間で ' のスタイルにわずかな違いがある場合があります。 これらは、レンダリングの許容可能なバリエーションと見なされます。