FAQ:一般—Djangoドキュメント

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

FAQ:一般

なぜこのプロジェクトが存在するのですか?

Djangoは、非常に実用的なニーズから成長しました。新聞のWebオペレーションであるWorld Onlineは、ジャーナリズムの締め切りに集中的なWebアプリケーションを構築する責任があります。 ペースの速いニュースルームでは、World Onlineは、複雑なWebアプリケーションをコンセプトから一般公開するまでに数時間しかかからないことがよくあります。

同時に、World Online Web開発者は、Web開発のベストプラクティスに従うことに関して、一貫して完璧主義者でした。

2003年の秋、World Onlineの開発者(AdrianHolovatyとSimonWillison)はPHPを廃止し、Pythonを使用してWebサイトを開発し始めました。 彼らがLawrence.comのような集中的でインタラクティブなサイトを構築するにつれて、彼らはWebアプリケーションをますます迅速に構築できるようにする一般的なWeb開発フレームワークを抽出し始めました。 彼らはこのフレームワークを絶えず調整し、2年間で改善を加えました。

2005年の夏、World Onlineは、結果として得られたソフトウェアDjangoをオープンソース化することを決定しました。 Djangoは、オープンソースプロジェクトのホスト全体( ApachePythonPostgreSQL など)がなければ実現できません。オープンソースコミュニティに何かを返すことができます。


「Django」とはどういう意味ですか、どのように発音しますか?

Djangoは、1930年代から1950年代初頭にかけてジャズマヌーシュギタリストであった Django Reinhardt にちなんで名付けられました。 今日まで、彼は史上最高のギタリストの一人と見なされています。

彼の音楽を聞いてください。 あなたはそれを好きになるでしょう。

Djangoは JANG と発音されます-ああ。 FANG-ohと韻を踏む。 「D」は無音です。

発音のオーディオクリップも録音しました。


Djangoは安定していますか?

はい、かなり安定しています。 Disqus、Instagram、Pinterest、Mozillaなどの企業は、長年Djangoを使用しています。 Djangoで構築されたサイトは、毎秒5万ヒットを超えるトラフィックの急増を乗り越えてきました。


Djangoはスケーリングしますか?

はい。 開発時間と比較して、ハードウェアは安価であるため、Djangoは可能な限り多くのハードウェアを利用するように設計されています。

Djangoは「シェアードナッシング」アーキテクチャを使用しています。つまり、データベースサーバー、キャッシングサーバー、Web /アプリケーションサーバーなど、あらゆるレベルでハードウェアを追加できます。

フレームワークは、データベース層やアプリケーション層などのコンポーネントを明確に分離します。 また、シンプルでありながら強力なキャッシュフレームワークが付属しています。


この背後にいるのは誰ですか?

Djangoは元々、米国カンザス州ローレンスにある新聞のWeb部門であるWorldOnlineで開発されました。 Djangoは現在、国際的なボランティアチームによって運営されています。


Djangoはどのようにライセンスされていますか?

Djangoは以下で配布されています :source: `3条項BSDライセンス ` 。 これは、Djangoを変更および再配布するための幅広い権限を付与するオープンソースライセンスです。


DjangoにPythonのライセンスファイルが含まれているのはなぜですか?

Djangoには、Python標準ライブラリのコードが含まれています。 Pythonは、パーミッシブオープンソースライセンスの下で配布されています。 :source: `Pythonライセンスのコピー ` Pythonの条件に準拠するためにDjangoに含まれています。


どのサイトがDjangoを使用していますか?

DjangoSites.org は、Djangoを利用したサイトのリストが絶えず増えていることを特徴としています。


DjangoはMVCフレームワークのように見えますが、コントローラーを「ビュー」と呼び、ビューを「テンプレート」と呼びます。 どうして標準名を使わないのですか?

まあ、標準的な名前は議論の余地があります。

MVCの解釈では、「ビュー」はユーザーに提示されるデータを表します。 データに見える方法である必要はありませんが、どのデータが表示されるかはわかりません。 このビューは、の表示方法ではなく、表示されるデータを示しています。これは微妙な違いです。

したがって、この場合、「ビュー」は特定のURLのPythonコールバック関数です。これは、そのコールバック関数が表示されるデータを記述するためです。

さらに、コンテンツをプレゼンテーションから分離することは賢明です。これがテンプレートの出番です。 Djangoでは、「ビュー」はどのデータが表示されるかを記述しますが、ビューは通常、データがどのように表示されるかを記述するテンプレートに委任します。

では、「コントローラー」はどこに収まるのでしょうか。 Djangoの場合、それはおそらくフレームワーク自体です。DjangoのURL構成に従って、適切なビューにリクエストを送信する機構です。

頭字語に飢えているなら、Djangoは「MTV」フレームワーク、つまり「モデル」、「テンプレート」、「ビュー」であると言うかもしれません。 その内訳ははるかに理にかなっています。

結局のところ、それは物事を成し遂げることに帰着します。 そして、物事の名前に関係なく、Djangoは私たちにとって最も論理的な方法で物事を成し遂げます。


NS –なぜDjangoを使用しないのですか?

私たちは他にも素晴らしいWebフレームワークがあることをよく知っており、必要に応じてアイデアを借りることを嫌がりません。 ただし、Djangoは現状に不満があるという理由だけで開発されたため、「 特定の機能をDjangoに追加する十分な理由にはなりません。


他のPythonライブラリを使用する代わりに、Djangoをすべて最初から作成したのはなぜですか?

Djangoが最初に作成されたとき、AdrianとSimonは、利用可能なさまざまなPythonWebフレームワークの調査にかなりの時間を費やしました。

私たちの意見では、それらのどれも完全に嗅ぎタバコに達していませんでした。

私たちはうるさいです。 あなたは私たちを完璧主義者と呼ぶかもしれません。 (締め切りあり)

時間が経つにつれて、私たちはすでに実装したことを実行するオープンソースライブラリに出くわしました。 他の人が同様の方法で同様の問題を解決しているのを見るのは心強いものでしたが、外部コードを統合するには遅すぎました。すでにいくつかの本番環境で独自のフレームワークビットを作成、テスト、実装しており、独自のコードは私たちのニーズを喜んで満たしていました。 。

ただし、ほとんどの場合、既存のフレームワーク/ツールには必然的に何らかの根本的で致命的な欠陥があり、それが私たちを苦しめていることがわかりました。 私たちの哲学に100%適合するツールはありません。

私たちが言ったように:私たちはうるさいです。

私たちの哲学はデザイン哲学ページに文書化されています。


Djangoはコンテンツ管理システム(CMS)ですか?

いいえ、DjangoはCMSでも、それ自体が「ターンキー製品」でもありません。 これはWebフレームワークです。 それはあなたがウェブサイトを構築することを可能にするプログラミングツールです。

たとえば、DjangoはDrupalのようなものを作成するために使用するものであるため、Djangoを Drupal のようなものと比較することはあまり意味がありません。

はい、Djangoの自動管理サイトは素晴らしく、時間を節約できますが、管理サイトはDjangoフレームワークの1つのモジュールです。 さらに、Djangoには「CMS-y」アプリの構築に特別な便利さがありますが、それは「非CMS-y」アプリの構築に適しているわけではありません(それが意味するものは何でも!)。


Djangoのドキュメントをダウンロードしてオフラインで読むにはどうすればよいですか?

Djangoのドキュメントは、各Djangotarballリリースのdocsディレクトリにあります。 これらのドキュメントはreST(reStructuredText)形式であり、各テキストファイルは公式のDjangoサイトのWebページに対応しています。

ドキュメントは :source: `リビジョン管理に保存 ` 、コードの変更を参照するのと同じように、ドキュメントの変更を参照できます。

技術的には、DjangoのサイトのドキュメントはそれらのreSTドキュメントの最新の開発バージョンから生成されるため、Djangoサイトのドキュメントは、最新のDjangoリリースに付属するドキュメントよりも多くの情報を提供する場合があります。


Djangoを引用するにはどうすればよいですか?

公式の引用形式を提供することは困難です。2つの理由があります。引用形式は出版物間で大きく異なる可能性があり、ソフトウェアの引用基準はまだ議論の余地があります。

たとえば、 APAスタイルは、次のように指示します。

Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://www.djangoproject.com/.

ただし、唯一の真のガイドは、発行者が受け入れるものです。そのため、これらのガイドラインのコピーを入手して、できる限りギャップを埋めてください。

参照スタイルガイドで発行者名が必要な場合は、「DjangoSoftwareFoundation」を使用してください。

出版場所が必要な場合は、「カンザス州ローレンス」を使用してください。

Webアドレスが必要な場合は、 https://www.djangoproject.com/を使用してください。

名前が必要な場合は、タグラインなしで「Django」を使用してください。

公開日が必要な場合は、参照しているバージョンのリリース年を使用してください(例:2013 for v1.5)