blog

ワンストップPython開発フレームワークレビュー - Django

フレームワークの経験に関して言えば、多くの開発者は自分なりのフレームワーク実践マニュアルを書くことができると思います。多くの人々は、"オープンソース "は、技術開発の将来の方向性であると言う、2013...

Nov 21, 2016 · 3 min. read
シェア

フレームワークの経験といえば、多くの開発者がフレームワークの実践マニュアルを自分で書けるのではないでしょうか。今後の技術開発の方向性は「オープンソース」だと多くの人が言いますが、2013年は開発者の目から見てもオープンソースのフレームワークが活躍した年でした。

Ruby言語Railsが圧倒的な地位を示すのとは異なり、JavaScript、Python、PHPなどのフレームワークが「百花繚乱」現象を見せています。今年はあまりにも多くのことが言われているので、私は、今日のJavaScriptフレームワークについて話すことはありません。別のスクリプト言語PHPは、多くのフレームワークがありますが、はるかにPythonフレームワークの勢いから。だから、今日はPythonのフレームワークについてお話します。

数あるPythonフレームワークの中で、最も****でゴツいPythonフレームワークを1つ選ぶとしたら、それはDjangoでしょう。Google App Engine や Erlang でさえ、このフレームワークの影響を受けています。Django がこれほど多くの開発者を立ち止まらせた最も重要な理由は、他のフレームワークと比較して、公式ドキュメントが最も充実しているからです。もちろん、他にも理由はあるはずですが、この要素だけは、あえて誰も反対しないことを保証します。このように、Django はその成功の大部分をこれに負っています。

Djangoはまた、多くのポイントを持って、最も有名な背景の完全自動化された管理です:唯一のORMを使用する必要がある、簡単なオブジェクトの定義を行うには、自動的にデータベース構造だけでなく、背景のフル機能の管理を生成することができます。このような便利な機能を達成するために、同じ時間の背後にあるDjango組み込みORMと結合の高度なフレームワーク内の他のモジュールを意味します。すべてのアプリケーションは、デフォルトではDjangoの組み込みORMを使用して、そうでない場合は、フレームワークを楽しむことはできませんそのORMに基づいて内部機能のシリーズを提供しています。

Django は興味深いテンプレートシステムの設計を持っていますが、そのフレームワークの一部とし ても影響力のある***ものであり、論争の的になる***ものでもあります。

Django テンプレートの設計思想の観点からは、コードとスタイルの分離でしょう。Asp.netはそのようなモデルを提唱していますが、技術的にはまだ混在することができます。Djangoは、根本的にコーディングの可能性を排除し、テンプレート内のデータを処理することです。

簡単な例です:

<% 
  int i; 
  for(i==0;i<10;i++){ 
  .... 
  } 
%> 

上のようなコードは Django では完全にサポートされていません。関数の使用はテンプレートの組み込み関数に限られます。言い換えれば、Django はテンプレートのために「新しい言語」を構築しています。しかし、その「新しい言語」は理解しやすく、テンプレートを異なるプラット フォームに移植するのも簡単です。

このような理由から、テンプレートでのプログラミングを容認するかどうかが Django テンプレートの争点になっています。ほとんどの場合、 Django テンプレートは全ての要求を満たすことができます。特殊な "状況の場合、テンプレートにコードを埋め込まなければなりませんが、テ ンプレートのルールに従って拡張されるべきです。ただ、時には、テンプレートが直接実装を拡張するテンプレートで、問題を解決するためにコードの行を書く、それはコードのダース行以上になります。この方法では、どのようにすべてのトラブルです。

上記のように、Djangoの特性の面では、Djangoは、中小規模のサイト構築、または大規模なサイトとして迅速に製品のプロトタイプツールを達成するために適しています。

Read next

人気ゲーム2048 C++ソースコード共有

2048ソースコード、それを書くために1時間以上前と後、約300行、何も複雑なアルゴリズムが、本当に最適化するのが面倒ですが、最適化は200行で制御することができると推定され、興味のある友人は、自分自身を最適化することができます。

Sep 28, 2016 · 9 min read