{"title":"FAQ: Django を使う","version":"3.0","locale":"ja","docname":"faq/usage","url":"/ja/3.0/faq/usage/","canonical":"https://djangodocs.dev/ja/3.0/faq/usage/","summary":"DJANGO_SETTINGS_MODULE の import にまつわるエラーが出るのですが、なぜですか？ Link to this heading # 以下の点を確認してください: 環境変数 DJANGO_SETTINGS_MODULE が完全指定の Python モジュール名になっていますか (たとえば…","html":"<h1>FAQ: Django を使う<a class=\"heading-anchor\" href=\"#faq-using-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"why-do-i-get-an-error-about-importing-django-settings-module\">\n<h2>DJANGO_SETTINGS_MODULE の import にまつわるエラーが出るのですが、なぜですか？<a class=\"heading-anchor\" href=\"#why-do-i-get-an-error-about-importing-django-settings-module\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>以下の点を確認してください:</p>\n<ul class=\"simple\">\n<li><p>環境変数 DJANGO_SETTINGS_MODULE が完全指定の Python モジュール名になっていますか (たとえば &quot;mysite.settings&quot;)。</p></li>\n<li><p>その設定モジュールは <code class=\"docutils literal notranslate\"><span class=\"pre\">sys.path</span></code> の上にありますか (<code class=\"docutils literal notranslate\"><span class=\"pre\">import</span> <span class=\"pre\">mysite.settings</span></code> はうまくいきますか)。</p></li>\n<li><p>(言うまでもなく) モジュールに構文エラーはありませんか。</p></li>\n</ul>\n</section>\n<section id=\"i-can-t-stand-your-template-language-do-i-have-to-use-it\">\n<h2>テンプレート言語を好きになれません。どうしても使わないとだめですか？<a class=\"heading-anchor\" href=\"#i-can-t-stand-your-template-language-do-i-have-to-use-it\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>私たちはこのテンプレートエンジンを chunky bacon 以来の傑作だと思っているのですが、テンプレート言語の選択というものは宗教に近いものがあるということは認識しています。Django では、テンプレート言語に対する制限はなにもありません。ですから、Jinja2 や Mako などを使いたいのなら、それは自由です。</p>\n</section>\n<section id=\"do-i-have-to-use-your-model-database-layer\">\n<h2>付属のモデル／データベースレイヤを使わねばならないのですか？<a class=\"heading-anchor\" href=\"#do-i-have-to-use-your-model-database-layer\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>いいえ、テンプレートシステムと同様、モデル／データベースレイヤはフレームワー クの他の部分と疎結合しています。</p>\n<p>唯一の例外: 別のデータベースライブラリを使った場合には、 Django の自動生成管理サイトを利用できなくなります。 admin だけは Django のデータベースレイヤと密結合しています。</p>\n</section>\n<section id=\"how-do-i-use-image-and-file-fields\">\n<h2>画像やファイルのフィールドはどう使うのですか？<a class=\"heading-anchor\" href=\"#how-do-i-use-image-and-file-fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>モデルで <a class=\"reference internal\" href=\"/ja/3.0/ref/models/fields/#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a> や <a class=\"reference internal\" href=\"/ja/3.0/ref/models/fields/#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> を使うには、いくつかのステップを踏む必要があります:</p>\n<ol class=\"arabic simple\">\n<li><p>設定ファイル内で <a class=\"reference internal\" href=\"/ja/3.0/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> を指定します。この値は、 Django がアップロードされたファイルを置く場所にします (パフォーマンス上の理由から、ファイルをデータベースに置くことはありません)。 <a class=\"reference internal\" href=\"/ja/3.0/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_URL</span></code></a> をそのディレクトリの公開 URL にします。ディレクトリは Web サーバのユーザアカウントに対して書き込み可能にしておかねばなりません。</p></li>\n<li><p>モデルに <a class=\"reference internal\" href=\"/ja/3.0/ref/models/fields/#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a> や <a class=\"reference internal\" href=\"/ja/3.0/ref/models/fields/#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> を追加し、 <a class=\"reference internal\" href=\"/ja/3.0/ref/models/fields/#django.db.models.FileField.upload_to\" title=\"django.db.models.FileField.upload_to\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">upload_to</span></code></a>  オプションを定義して、 <a class=\"reference internal\" href=\"/ja/3.0/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a>  のどのサブディレクトリにファイルをアップロードさせるのかを Django に教えます。</p></li>\n<li><p>データベースに保存されるのは、ファイルの (<a class=\"reference internal\" href=\"/ja/3.0/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> からの相対で表した) パスだけです。 URL を調べるには、 Django の提供し ている属性 <a class=\"reference internal\" href=\"/ja/3.0/ref/models/fields/#django.db.models.fields.files.FieldFile.url\" title=\"django.db.models.fields.files.FieldFile.url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">url</span></code></a>  を使うことになるでしょう。例えば、 <code class=\"docutils literal notranslate\"><span class=\"pre\">mug_shot</span></code> という名前の <a class=\"reference internal\" href=\"/ja/3.0/ref/models/fields/#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> を作ったなら、テンプレートで画像の URL を指定するには <code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">object.mug_shot.url</span> <span class=\"pre\">}}</span></code> と書きます。</p></li>\n</ol>\n</section>\n<section id=\"how-do-i-make-a-variable-available-to-all-my-templates\">\n<h2>どうやったら、全てのテンプレートで使える変数を定義できますか？<a class=\"heading-anchor\" href=\"#how-do-i-make-a-variable-available-to-all-my-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>どのテンプレートでも同じデータを扱うことがたまにあります。よくある例は、動的生成のメニューです。一見、共通のディクショナリをテンプレートコンテキストに入れておくのが合理的に見えます。</p>\n<p>Django では、<code class=\"docutils literal notranslate\"><span class=\"pre\">RequestContext</span></code> を使うのが一番の方法です。詳しくはコンテキストのサブクラス <a class=\"reference internal\" href=\"/ja/3.0/ref/templates/api/#subclassing-context-requestcontext\"><span class=\"std std-ref\">RequestContext を使う</span></a> を参照してください。</p>\n</section>","rootId":"faq-using-django","toc":[{"title":"DJANGO_SETTINGS_MODULE の import にまつわるエラーが出るのですが、なぜですか？","anchor":"why-do-i-get-an-error-about-importing-django-settings-module","children":[]},{"title":"テンプレート言語を好きになれません。どうしても使わないとだめですか？","anchor":"i-can-t-stand-your-template-language-do-i-have-to-use-it","children":[]},{"title":"付属のモデル／データベースレイヤを使わねばならないのですか？","anchor":"do-i-have-to-use-your-model-database-layer","children":[]},{"title":"画像やファイルのフィールドはどう使うのですか？","anchor":"how-do-i-use-image-and-file-fields","children":[]},{"title":"どうやったら、全てのテンプレートで使える変数を定義できますか？","anchor":"how-do-i-make-a-variable-available-to-all-my-templates","children":[]}],"breadcrumbs":[{"docname":"faq/index","title":"Django FAQ よくある質問","url":"/ja/3.0/faq/"}],"prev":{"docname":"faq/install","title":"FAQ: インストール","url":"/ja/3.0/faq/install/"},"next":{"docname":"faq/help","title":"FAQ: 助けを求める","url":"/ja/3.0/faq/help/"},"formats":{"html":"/ja/3.0/faq/usage/","markdown":"/ja/3.0/faq/usage.md","json":"/ja/3.0/faq/usage.json"},"source":"https://github.com/django/django/blob/stable/3.0.x/docs/faq/usage.txt","official":"https://docs.djangoproject.com/ja/3.0/faq/usage/","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","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}