{"title":"FAQ: 一般的な質問","version":"1.9","locale":"ja","docname":"faq/general","url":"/ja/1.9/faq/general/","canonical":"https://djangodocs.dev/ja/1.9/faq/general/","summary":"Django というプロジェクトが作られた経緯を教えてください。 Link to this heading # Django は極めて実践的な要求のもとで作られてきました。Web 新聞を発行している World Online では、効果的な Web…","html":"<h1>FAQ: 一般的な質問<a class=\"heading-anchor\" href=\"#faq-general\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"why-does-this-project-exist\">\n<h2>Django というプロジェクトが作られた経緯を教えてください。<a class=\"heading-anchor\" href=\"#why-does-this-project-exist\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django は極めて実践的な要求のもとで作られてきました。Web 新聞を発行している World Online では、効果的な Web アプリケーションを、ジャーナリズムの世界の短い締め切りに間に合うように構築しなければなりません。ニュースルームというのは非常に変化の早い場所です。そのため、World Online では、複雑な Web アプリケーションをコンセプトを構想してからそれを公開するまでに、たった数時間の猶予しかないということがよくあります。</p>\n<p>しかし同時に、WorldOnline の Web 開発者たちは、特に Web 開発のベストプラクティスに従うことに関しては、一貫して完璧主義者でした。</p>\n<p>2003年の秋、World Online の開発者 (Adrian Holovaty と Simon Willison) は PHP に 見切りをつけ、Python による Web 開発に取り組みはじめました。集約的で高い双方向性を備えた Lawrence.com のようなサイトの開発の中で、彼らは Web アプリケーションをより迅速に開発できるように、サイトのコードから汎用の Web 開発フレー ムワークを切り出し、 2 年近くの間ずっと改良を加えながら使い込んできました。</p>\n<p>2005年の夏、World Online は、これまでの開発の成果を Django としてオープンソー ス化する決定を下しました。 Django は <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a>, <a class=\"reference external\" href=\"https://www.python.org/\">Python</a>, そして <a class=\"reference external\" href=\"http://www.postgresql.org/\">PostgreSQL</a> をはじめとする様々なオープンソースプロジェクトなしでは実現しませんでした。そして今、私たちはオープンソースコミュニティに多少なりともお返しできることにワクワクしているのです。</p>\n</section>\n<section id=\"what-does-django-mean-and-how-do-you-pronounce-it\">\n<h2>“Django” とはどういう意味で、どのように発音するのですか？<a class=\"heading-anchor\" href=\"#what-does-django-mean-and-how-do-you-pronounce-it\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django は、1930年代から1950年初頭に活躍した、ジャズの伝説のギタリスト <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Django_Reinhardt\">Django Reinhardt</a> にちなんで名付けられました。今日では、Django は史上最高のギタリストの1人と評価されています。</p>\n<p>彼の曲を聞いてみてください。きっと気に入ることでしょう。</p>\n<p>Django は <strong>JANG</strong>-oh (‘a’ は伸ばす) と発音します。韻は FANG-oh と同じです。 “D” は発音しません。</p>\n<p>音声ファイル <a class=\"reference external\" href=\"http://red-bean.com/~adrian/django_pronunciation.mp3\">audio clip of the pronunciation</a> に発音を録音しておいたので、参考にしてください。</p>\n</section>\n<section id=\"is-django-stable\">\n<h2>Django は安定したプロジェクトですか？<a class=\"heading-anchor\" href=\"#is-django-stable\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>はい、とても安定しています。Disqus、Instagram、Pinterest、Mozilla といった企業が、長年 Django を使っています。Django 上に構築されたサイトは、5万ヒット/秒を超えるトラフィックスパイクにも耐えることができます。</p>\n</section>\n<section id=\"does-django-scale\">\n<h2>Django はスケールしますか？<a class=\"heading-anchor\" href=\"#does-django-scale\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>はい。ハードウェアというものは、開発時間に比べて安いものですし、それゆえ Django はユーザが投入可能なハードウェアをできるだけ活用できるように設計されてい ます。</p>\n<p>Django は「レイヤ間で何も共有しない (shared-nothing)」アーキテクチャを採用しています。そのため、データベースサーバ、キャッシュサーバ、 Web/アプリケーションサーバのどのレベルにでもハードウェアを追加することができます。</p>\n<p>Django のフレームワークは、データベースレイヤやアプリケーションレイヤなどの各コンポーネントをきれいに分離しています。また、シンプルながら強力な <a class=\"reference internal\" href=\"/ja/1.9/topics/cache/\"><span class=\"doc\">キャッシュフレームワーク</span></a> を備えています。</p>\n</section>\n<section id=\"who-s-behind-this\">\n<h2>Django はどんな組織が支援しているのですか？<a class=\"heading-anchor\" href=\"#who-s-behind-this\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django はもともと、アメリカのカンザス州ローレンス (Lawrence, Kansas, USA) にある、World Online という新聞社の Web 開発部門で開発されました。現在は、国際的な <a class=\"reference internal\" href=\"/ja/1.9/internals/team/\"><span class=\"doc\">ボランティアのチーム</span></a> が開発を続けています。</p>\n</section>\n<section id=\"which-sites-use-django\">\n<h2>Django を使っているサイトを教えてください。<a class=\"heading-anchor\" href=\"#which-sites-use-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference external\" href=\"https://djangosites.org\">DjangoSites.org</a> を見ると、Django で作られたサイトのリストが見られます。このリストはどんどん長くなっています。</p>\n</section>\n<section id=\"django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names\">\n<span id=\"faq-mtv\"></span><h2>Django は MVC フレームワークのように思えるのですが、コントローラ (Controller) を「ビュー  (view)」と呼び、ビュー (View) を「テンプレート (template)」と呼んでいます。なぜ標準的な呼び方をしないのですか？<a class=\"heading-anchor\" href=\"#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>たしかに、標準的な名前については議論の余地があるかもしれません。</p>\n<p>Django の MVC の解釈では、「ビュー」はユーザに表示するデータを記述します。つまり、ビューにはデータの <em>見せ方</em> を書く必要はなく、表示したいデータの <em>選び方</em> を書くものだと考えます。<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">*</span></a>ユーザが見るのはどのデータなのか*を書くのであって、<a href=\"#id3\"><span class=\"problematic\" id=\"id4\">*</span></a>ユーザに対するデータの表示の仕方*を書くわけではないということです。この二つは明らかに違います。</p>\n<p>そのため、Django では「ビュー」は特定の URL に対する Python コールバック関数になっています。なぜなら、コールバック関数は、どのデータを提示するかということを書いているからです。</p>\n<p>さらに、テンプレートによってコンテンツとプレゼンテーションの分離がはっきり しています。Django では、ビューはどのデータを提示するかを決めていますが、 ビューは通常、<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">*</span></a>どのように*データを提示するかをテンプレートに委ねます。</p>\n<p>では、「コントローラ」はどこに入るのでしょうか。 Django の場合、おそらくフ レームワーク、すなわち URL 設定にしたがってリクエストを適切なビューに送信する機構自体がコントローラにあたるといえるでしょう。</p>\n<p>略語がお好みなら、 Django を “MTV” フレームワークと呼んでもよいでしょう。つ まり、モデル &quot;Model&quot;、テンプレート &quot;Template&quot;、そしてビュー &quot;View&quot; です。 こっちの方がよりしっくりきます。</p>\n<p>最後に、結局重要なのは問題を解決することです。そして、呼び方は何であれ、 Django はわれわれにとって最も理にかなった方法で問題を解決しているのです。</p>\n</section>\n<section id=\"framework-x-does-feature-y-why-doesn-t-django\">\n<h2>&lt;フレームワーク X&gt; には &lt;機能 Y&gt; がありますが、なぜ Django にはないのですか<a class=\"heading-anchor\" href=\"#framework-x-does-feature-y-why-doesn-t-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>世の中には他にも素晴らしい Web フレームワークがあるのは良く知っていますし、 必要であればそこからアイデアを借りるのにやぶさかではありません。とはいえ、 私たちが Django を開発した動機は、旧態然たる Web フレームワークに不満だった からこそなので、「&lt;Framework X&gt; でできるから」といって、同じ機能を Django に機能を追加する理由にはならないのです。</p>\n</section>\n<section id=\"why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries\">\n<h2>なぜ既存の Python ライブラリを使わずスクラッチで Django を作ったのですか？<a class=\"heading-anchor\" href=\"#why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django を書き始めた数年前、 Adrian と Simon は少し時間を取って、当時利用できた様々な Python ウェブフレームワークを試してみました。</p>\n<p>その結果、十分な出来具合のものは一つもないという結論に達したのです。</p>\n<p>私達は好みにうるさいのです。(締め切りに追われる) 完璧主義者と呼んでもいいで しょう。</p>\n<p>これまでずっと、私達は自分たちがすでに実装済みの機能を実現するオープンソースライブラリに出会ってきました。そうしたライブラリに、他の人達が同じ問題を同じ方法で解決しようとしているのを見ては元気づけられる思いでしたが、自分たちのコードの外側に組み込むにはもう遅すぎました。私達はすでにいくつもの運用 環境で独自のフレームワークを書き上げ、テストし、実装してきており、できたコー ドは快適なまでに要求を満たしていたのです。</p>\n<p>一方、ほとんどの場合、既存のフレームワークやツールは明らかにある主の根本的、致命的な欠陥があり、私達を神経質にさせました。結局、私達の哲学に100%合うものはなかったのです。</p>\n<p>繰り返していいますが、私達は好みにうるさいのです。</p>\n<p>私達の設計哲学は <a class=\"reference internal\" href=\"/ja/1.9/misc/design-philosophies/\"><span class=\"doc\">設計哲学のページ</span></a> に詳し く書いてあります。</p>\n</section>\n<section id=\"is-django-a-content-management-system-cms\">\n<h2>Django はコンテンツ管理システム (CMS) なのでしょうか?<a class=\"heading-anchor\" href=\"#is-django-a-content-management-system-cms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>いいえ。 Django は CMS ではありませんし、いわゆる「ターンキーシステム」のようなものでもありません。 Django は Web フレームワークであり、 Web サイトを構築する際に使えるプログラミングツールにすぎません。</p>\n<p>例えば、 Django を <a class=\"reference external\" href=\"https://drupal.org/\">Drupal</a> のようなシステムと比較するのは無意味です。というのも、 Django はまさに Drupal のようなシステムを <em>作る</em> ためのものだからで す。</p>\n<p>もちろん、 Django の自動 admin サイトはすばらしく、開発時間の節約になります。 しかし、 admin サイトは Django というフレームワークのいちモジュールに過ぎません。もっと言うなら、 Django が「 CMS 的な」アプリケーションを作成する上でとりわけ便利な点を持ってはいますが、そのことが「 CMS 的でない」アプリケーショ ンの開発に向いていない、なんてことにつながったりはしないのです(とにかくDjangoはCMSじゃないってことです!)。</p>\n</section>\n<section id=\"how-can-i-download-the-django-documentation-to-read-it-offline\">\n<h2>どうやれば Django のドキュメントをダウンロードしてオフラインで読めますか？<a class=\"heading-anchor\" href=\"#how-can-i-download-the-django-documentation-to-read-it-offline\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django のドキュメントは Django tarball リリースの docs ディレクトリに あります。これらのドキュメントは reST (reStructuredText) 形式で書かれており、 各テキストファイルが Django 公式サイトのページに対応しています。</p>\n<p>ドキュメントは バージョン管理システム下にある <a class=\"reference external\" href=\"https://github.com/django/django/tree/master/docs/\">stored in revision control</a> ので、コードの変更状況を閲覧するのと同じようにしてドキュメントの変更状況を閲覧できます。</p>\n<p>技術的には、 Django サイトのドキュメントは最新の開発版の reST ドキュメントから生成されます、従って、 Django サイトにあるドキュメントの方が、最新の Django リリースのドキュメントよりも多くの情報を提供していることがあります。</p>\n</section>\n<section id=\"where-can-i-find-django-developers-for-hire\">\n<h2>Django 開発者はどこで雇えますか？<a class=\"heading-anchor\" href=\"#where-can-i-find-django-developers-for-hire\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>求職中の開発者リスト <a class=\"reference external\" href=\"https://code.djangoproject.com/wiki/DevelopersForHire\">developers for hire page</a> には、喜んであなたの力になってくれる Django 開発者 のリストがあります。</p>\n<p>また、求人を <a class=\"reference external\" href=\"https://djangogigs.com/\">https://djangogigs.com/</a> に出してみるのもよいでしょう。 地元で Django を扱える人を探しているなら、 <a class=\"reference external\" href=\"https://people.djangoproject.com/\">https://people.djangoproject.com/</a> を調べてみてください。</p>\n</section>\n<section id=\"how-do-i-cite-django\">\n<h2>How do I cite Django?<a class=\"heading-anchor\" href=\"#how-do-i-cite-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>It's difficult to give an official citation format, for two reasons: citation\nformats can vary wildly between publications, and citation standards for\nsoftware are still a matter of some debate.</p>\n<p>For example, <a class=\"reference external\" href=\"http://www.apastyle.org\">APA style</a>,  would dictate something like:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">Django</span> <span class=\"p\">(</span><span class=\"n\">Version</span> <span class=\"mf\">1.5</span><span class=\"p\">)</span> <span class=\"p\">[</span><span class=\"n\">Computer</span> <span class=\"n\">Software</span><span class=\"p\">]</span><span class=\"o\">.</span> <span class=\"p\">(</span><span class=\"mi\">2013</span><span class=\"p\">)</span><span class=\"o\">.</span> <span class=\"n\">Retrieved</span> <span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">https</span><span class=\"p\">:</span><span class=\"o\">//</span><span class=\"n\">djangoproject</span><span class=\"o\">.</span><span class=\"n\">com</span><span class=\"o\">.</span>\n</code></pre></div>\n<p>However, the only true guide is what your publisher will accept, so get a copy\nof those guidelines and fill in the gaps as best you can.</p>\n<p>If your referencing style guide requires a publisher name, use &quot;Django Software\nFoundation&quot;.</p>\n<p>If you need a publishing location, use &quot;Lawrence, Kansas&quot;.</p>\n<p>If you need a web address, use <a class=\"reference external\" href=\"https://djangoproject.com\">https://djangoproject.com</a>.</p>\n<p>If you need a name, just use &quot;Django&quot;, without any tagline.</p>\n<p>If you need a publication date, use the year of release of the version you're\nreferencing (e.g., 2013 for v1.5)</p>\n</section>","rootId":"faq-general","toc":[{"title":"Django というプロジェクトが作られた経緯を教えてください。","anchor":"why-does-this-project-exist","children":[]},{"title":"“Django” とはどういう意味で、どのように発音するのですか？","anchor":"what-does-django-mean-and-how-do-you-pronounce-it","children":[]},{"title":"Django は安定したプロジェクトですか？","anchor":"is-django-stable","children":[]},{"title":"Django はスケールしますか？","anchor":"does-django-scale","children":[]},{"title":"Django はどんな組織が支援しているのですか？","anchor":"who-s-behind-this","children":[]},{"title":"Django を使っているサイトを教えてください。","anchor":"which-sites-use-django","children":[]},{"title":"Django は MVC フレームワークのように思えるのですが、コントローラ (Controller) を「ビュー  (view)」と呼び、ビュー (View) を「テンプレート (template)」と呼んでいます。なぜ標準的な呼び方をしないのですか？","anchor":"django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names","children":[]},{"title":"<フレームワーク X> には <機能 Y> がありますが、なぜ Django にはないのですか","anchor":"framework-x-does-feature-y-why-doesn-t-django","children":[]},{"title":"なぜ既存の Python ライブラリを使わずスクラッチで Django を作ったのですか？","anchor":"why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries","children":[]},{"title":"Django はコンテンツ管理システム (CMS) なのでしょうか?","anchor":"is-django-a-content-management-system-cms","children":[]},{"title":"どうやれば Django のドキュメントをダウンロードしてオフラインで読めますか？","anchor":"how-can-i-download-the-django-documentation-to-read-it-offline","children":[]},{"title":"Django 開発者はどこで雇えますか？","anchor":"where-can-i-find-django-developers-for-hire","children":[]},{"title":"How do I cite Django?","anchor":"how-do-i-cite-django","children":[]}],"breadcrumbs":[{"docname":"faq/index","title":"Django FAQ よくある質問","url":"/ja/1.9/faq/"}],"prev":{"docname":"faq/index","title":"Django FAQ よくある質問","url":"/ja/1.9/faq/"},"next":{"docname":"faq/install","title":"FAQ: インストール","url":"/ja/1.9/faq/install/"},"formats":{"html":"/ja/1.9/faq/general/","markdown":"/ja/1.9/faq/general.md","json":"/ja/1.9/faq/general.json"},"source":"https://github.com/django/django/blob/stable/1.9.x/docs/faq/general.txt","official":"https://docs.djangoproject.com/ja/1.9/faq/general/","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"]}