{"title":"FAQ: 管理サイト\"admin\"について","version":"1.9","locale":"ja","docname":"faq/admin","url":"/ja/1.9/faq/admin/","canonical":"https://djangodocs.dev/ja/1.9/faq/admin/","summary":"ログインできません。正しいユーザ名とパスワードを入力したのに、再度ログインページが表示されます。エラーメッセージも出ません。 Link to this heading # The login cookie isn't being set correctly, because the domain of the cookie…","html":"<h1>FAQ: 管理サイト&quot;admin&quot;について<a class=\"heading-anchor\" href=\"#faq-the-admin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages\">\n<h2>ログインできません。正しいユーザ名とパスワードを入力したのに、再度ログインページが表示されます。エラーメッセージも出ません。<a class=\"heading-anchor\" href=\"#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>The login cookie isn't being set correctly, because the domain of the cookie\nsent out by Django doesn't match the domain in your browser. Try setting the\n<a class=\"reference internal\" href=\"/ja/1.9/ref/settings/#std-setting-SESSION_COOKIE_DOMAIN\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_DOMAIN</span></code></a> setting to match your domain. For example, if\nyou're going to &quot;<a class=\"reference external\" href=\"https://www.example.com/admin/\">https://www.example.com/admin/</a>&quot; in your browser, set\n<code class=\"docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_DOMAIN</span> <span class=\"pre\">=</span> <span class=\"pre\">'www.example.com'</span></code>.</p>\n</section>\n<section id=\"i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error\">\n<h2>ログインできません。正しいユーザ名とパスワードを入力したはずなのに、再度ログインページが開き、「正しいユーザ名とパスワードを入力してください」というエラーメッセージが表示されます。<a class=\"heading-anchor\" href=\"#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>ユーザ名とパスワードが本当に正しい場合、ユーザアカウントが <a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/auth/#django.contrib.auth.models.User.is_active\" title=\"django.contrib.auth.models.User.is_active\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">is_active</span></code></a> で、かつ <a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/auth/#django.contrib.auth.models.User.is_staff\" title=\"django.contrib.auth.models.User.is_staff\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">is_staff</span></code></a> が True になっているか確認してください。管理サイトにアクセスできるのは、is_active と is_staff がともに True のユーザだけです。</p>\n</section>\n<section id=\"how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin\">\n<h2>管理サイト上でオブジェクトを編集した時、オブジェクトを最後に編集したユーザの情報を特定のフィールドに自動的に入力する方法はありませんか？<a class=\"heading-anchor\" href=\"#how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin\" title=\"django.contrib.admin.ModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code></a> クラスが用意しているカスタマイズ用のフックを利用すれば、オブジェクトを保存するときに、リクエストから取り出した情報に基づいてフィールドの値を変更できます。具体的には、 meth:~django.contrib.admin.ModelAdmin.save_model フックをカスタマイズして、 リクエストから取り出した現在のユーザをオブジェクトのフィールド値に反映させることができます。 <a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/admin/#model-admin-methods\"><span class=\"std std-ref\">ModelAdmin メソッドのドキュメント</span></a> にサンプルがあるので参考にしてください。</p>\n</section>\n<section id=\"how-do-i-limit-admin-access-so-that-objects-can-only-be-edited-by-the-users-who-created-them\">\n<h2>管理サイト上で、オブジェクトを最初に作成したユーザだけがオブジェクトを編集できるようにアクセス権を制限するにはどうすればよいですか？<a class=\"heading-anchor\" href=\"#how-do-i-limit-admin-access-so-that-objects-can-only-be-edited-by-the-users-who-created-them\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin\" title=\"django.contrib.admin.ModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code></a> クラスが、管理サイト上の任意のオブジェクトの表示と編集の権限をコントロールするためのカスタマイズ用のフックを提供してくれています。同様のトリックを使ってリクエストから現在のユーザ情報を取り出せば、 <a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_queryset\" title=\"django.contrib.admin.ModelAdmin.get_queryset\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_queryset()</span></code></a> と <a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.has_change_permission\" title=\"django.contrib.admin.ModelAdmin.has_change_permission\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">has_change_permission()</span></code></a> を使って、管理サイト上でのオブジェクトの表示と編集の権限をコントロールできます。</p>\n</section>\n<section id=\"my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi\">\n<h2>開発サーバでは管理サイトの CSS や画像がうまく表示されるのに、mod_wsgi を使った場合には表示されません。<a class=\"heading-anchor\" href=\"#my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>「Django を Apache と <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_swgi</span></code> とともに使うには？」内の <a class=\"reference internal\" href=\"/ja/1.9/howto/deployment/wsgi/modwsgi/#serving-the-admin-files\"><span class=\"std std-ref\">管理サイト用のファイルを公開する方法</span></a> を参照してください。</p>\n</section>\n<section id=\"my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display\">\n<h2>“list_filter” に ManyToManyField を入れたのに、管理サイトがフィルタを表示しません。<a class=\"heading-anchor\" href=\"#my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django が <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code> に対してフィルタを表示するのは、リレーション 先のオブジェクトが複数のときだけです。</p>\n<p>例えば、 <a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_filter\" title=\"django.contrib.admin.ModelAdmin.list_filter\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">list_filter</span></code></a> に <a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/sites/\"><span class=\"doc\">sites</span></a> が含まれていて、かつデータベースに1個しかsiteのデータが無い場合はSiteによるフィルタリングは表示されません。この場合Siteによるフィルタリングは無意味だからです。</p>\n</section>\n<section id=\"some-objects-aren-t-appearing-in-the-admin\">\n<h2>admin画面でいくつかのオブジェクトが表示されません。<a class=\"heading-anchor\" href=\"#some-objects-aren-t-appearing-in-the-admin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>おかしな行数カウントが発生するのは、ForeignKeyの値が抜けている場合、又はForeignKeyであるフィールドが間違って <a class=\"reference internal\" href=\"/ja/1.9/ref/models/fields/#django.db.models.Field.null\" title=\"django.db.models.Field.null\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">null=False</span></code></a> に設定されている事が原因です。\nもし <a class=\"reference internal\" href=\"/ja/1.9/ref/models/fields/#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code></a> が存在しないオブジェクトを指しているデータがあり、そのフィールドが <a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display\" title=\"django.contrib.admin.ModelAdmin.list_display\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">list_display</span></code></a> に含まれている場合、adminのchangelistには表示されません。なぜならばDjangoのモデルが宣言している整合性制約はデータベースレベルまでは実装されていないからです。</p>\n</section>\n<section id=\"how-can-i-customize-the-functionality-of-the-admin-interface\">\n<h2>admin インターフェイスの機能をカスタマイズしたい場合にはどうすればいいですか？<a class=\"heading-anchor\" href=\"#how-can-i-customize-the-functionality-of-the-admin-interface\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>いくつかの方法があります。まず、Django が自動的に生成する追加/変更フォームに修正を加えたい場合には、モデルクラス Admin の <a class=\"reference internal\" href=\"/ja/1.9/ref/contrib/admin/#modeladmin-asset-definitions\"><span class=\"std std-ref\">js パラメータ</span></a> を介して、ページに好きな JavaScript モジュールを組み込むことができます。このパラメータには、JavaScript モジュールへの URL を表す文字列のリストを指定します。各 URL は、&lt;script&gt; タグを使って admin のフォームに埋め込まれます。</p>\n<p>自動生成されたフォームをただ修正するのではなく、より柔軟なカスタマイズをしたければ、管理サイト用のカスタムビューを自分で書くことができます。管理サイト自体が Django で動いているので、自分でカスタムビューを書くことで、認証システムやパーミッションのチェック、その他なんでも好きなことができます。</p>\n<p>管理サイトのデザインをカスタマイズしたいならば、次の質問が参考になります。</p>\n</section>\n<section id=\"the-dynamically-generated-admin-site-is-ugly-how-can-i-change-it\">\n<h2>動的に生成された管理サイトが見難いのですが、どうすれば修正できますか？<a class=\"heading-anchor\" href=\"#the-dynamically-generated-admin-site-is-ugly-how-can-i-change-it\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>デフォルトのデザインが好みでなければ、CSS や関連する画像ファイルを編集することで管理サイトの見栄えを変更することができます。サイトは、構造化された HTML とたくさんの CSS のフックを使って構築されているので、スタイルシートを編集すれば、どんな場所であっても自由にカスタマイズすることができるはずです。</p>\n</section>\n<section id=\"what-browsers-are-supported-for-using-the-admin\">\n<h2>管理サイトをサポートしているブラウザを教えてください。<a class=\"heading-anchor\" href=\"#what-browsers-are-supported-for-using-the-admin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>管理サイトは、よく知られた例外である IE6 を除く <a class=\"reference external\" href=\"https://github.com/yui/yui3/wiki/Graded-Browser-Support\">YUI's A-grade</a> のブラウザ上で、すべての機能が完全に動作します。</p>\n<p>スタイル上の細かい違いはある可能性があります。たとえば、いくつかのブラウザでは、テキストボックスなどの角を丸くする機能がサポートされていません。また、レンダリングの結果、ブラウザ間で多少の際はあるかもしれません。いずれも許容範囲内であるはずです。</p>\n</section>","rootId":"faq-the-admin","toc":[{"title":"ログインできません。正しいユーザ名とパスワードを入力したのに、再度ログインページが表示されます。エラーメッセージも出ません。","anchor":"i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages","children":[]},{"title":"ログインできません。正しいユーザ名とパスワードを入力したはずなのに、再度ログインページが開き、「正しいユーザ名とパスワードを入力してください」というエラーメッセージが表示されます。","anchor":"i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error","children":[]},{"title":"管理サイト上でオブジェクトを編集した時、オブジェクトを最後に編集したユーザの情報を特定のフィールドに自動的に入力する方法はありませんか？","anchor":"how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin","children":[]},{"title":"管理サイト上で、オブジェクトを最初に作成したユーザだけがオブジェクトを編集できるようにアクセス権を制限するにはどうすればよいですか？","anchor":"how-do-i-limit-admin-access-so-that-objects-can-only-be-edited-by-the-users-who-created-them","children":[]},{"title":"開発サーバでは管理サイトの CSS や画像がうまく表示されるのに、mod_wsgi を使った場合には表示されません。","anchor":"my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi","children":[]},{"title":"“list_filter” に ManyToManyField を入れたのに、管理サイトがフィルタを表示しません。","anchor":"my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display","children":[]},{"title":"admin画面でいくつかのオブジェクトが表示されません。","anchor":"some-objects-aren-t-appearing-in-the-admin","children":[]},{"title":"admin インターフェイスの機能をカスタマイズしたい場合にはどうすればいいですか？","anchor":"how-can-i-customize-the-functionality-of-the-admin-interface","children":[]},{"title":"動的に生成された管理サイトが見難いのですが、どうすれば修正できますか？","anchor":"the-dynamically-generated-admin-site-is-ugly-how-can-i-change-it","children":[]},{"title":"管理サイトをサポートしているブラウザを教えてください。","anchor":"what-browsers-are-supported-for-using-the-admin","children":[]}],"breadcrumbs":[{"docname":"faq/index","title":"Django FAQ よくある質問","url":"/ja/1.9/faq/"}],"prev":{"docname":"faq/models","title":"FAQ: データベースとモデル","url":"/ja/1.9/faq/models/"},"next":{"docname":"faq/contributing","title":"FAQ: コードへの貢献","url":"/ja/1.9/faq/contributing/"},"formats":{"html":"/ja/1.9/faq/admin/","markdown":"/ja/1.9/faq/admin.md","json":"/ja/1.9/faq/admin.json"},"source":"https://github.com/django/django/blob/stable/1.9.x/docs/faq/admin.txt","official":"https://docs.djangoproject.com/ja/1.9/faq/admin/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","fr","ja","id","pt-br","es"]}