0

私はC#およびASP.NETMVC開発者です。いくつかのPythonコンソールアプリケーションを完成させましたが、WebアプリケーションにPythonを使用するのは初めてです。Pythonサーバーとテンプレートエンジンについてたくさん読みました。

しかし、私は心配しています:

  • どのテンプレートエンジンがどのPythonサーバー/PythonWebフレームワークに適していますか?または合うべきですか?
  • テンプレートエンジンにセキュリティの問題がありますか?または、構文が好きな人を選ぶことはできますか。
  • テンプレートエンジンは、データ(私のモデル、ormモデル)をコントローラーおよびそれ自体と統合できますか?この統合により、セキュリティやメモリの問題が発生する可能性はありますか?
  • テンプレートエンジンにPython2.xまたは3.xを使用することは重要ですか?

私はあることを知っていますjinja2pytenjin (非常に速いようですpyrazor)、。私はすべてを試しましたが、ASP.NET MVCのバックグラウンドがあるため、pyRazorに非常に満足しています。

そして私の心配の後の最後の質問:

  • どのテンプレートエンジンを使用する必要がありますか?
  • Tornadoで開発を開始する のに最適な開発環境(Python Webフレームワーク、テンプレートエンジン)は何ですか?

多くの質問をしたことは知っていますが、実際のプロジェクトの開発に取り掛かる前に注意する必要があります。

コメントに関する編集:わかりました。探しているものについてもっと具体的にする必要があると思います。多くの開発者がPythonWebプログラミング(少なくとも他のプラットフォームから来ている)を必要としているので、私が持っている開発オプションを理解する必要があります。(IDE、テンプレートエンジン、Webサーバーなど)そして、セキュリティを損なうことなく開発時間を短縮し、生産性を向上させるために、それらを適切な方法で組み合わせる方法。

更新1: VSおよびASP.NETの世界の開発者は、すべてを1つのボックスにまとめて開発できるようにすることに慣れていると思います。プロジェクトのニーズのために別のテクノロジを使用する場合、私たちは(少なくとも私は)パラノイアになります。すべてを調和させる必要があるからです。.NETプロジェクトにIIS、.NET、およびVS(すべての高度な機能を備えた)を使用することは明らかです。

さて、たくさんの検索と調査の結果、私はPyCharmをDjangoのIDEとして使用することにしました。いつかPyCharmがDjangoをサポートする方法としてweb2pyをサポートすることを願っています。

わかりました、サーバーはどうですか?nginxまたはcherokeeを機能させます。

さて、テンプレートエンジンはどうですか?デフォルトのDjangoテンプレートエンジンを使用します(pyRazorは好きではありません)が、この方法を使用すると、ヘルプを見つけたり、より多くの機能をリクエストしたりするのが簡単になります。後の段階で、jinja2を再試行できます(PyCharmではDjangoで使用するテンプレートエンジンを変更します)。

4

1 に答える 1

4

究極のテンプレートエンジンやWebフレームワークはありません。たとえば、フラスコ、Jinja2、SQLAlchemyの組み合わせが好きです。ORMとテンプレートエンジンをもたらすDjangoを好む人もいます。他の人はmako(テンプレートエンジンでもあります)を好みます。それらを試して、あなたが最も好きなものを見つけてください。

もちろん、XSS攻撃など、テンプレートにセキュリティの問題がある可能性がありますが、Jinja2ではデフォルトで自動エスケープが有効になっているため、必要なものを投入すると自動的にエスケープされます。

はい、ORMモデルをテンプレートエンジンと統合することはできますが(モデルとモデルをテンプレートに渡すことができますdb-instance)、ルートでの実行が簡単であるという理由だけで、私はそれを行いません。それを統合すると、「通常の」コードで行う場合のように、セキュリティ/メモリの問題が増えることはありません。

Pythonのバージョンは(エンジンがサポートしている限り)重要ではありませんが、Python 3のいくつかの優れた機能を提供し、利用可能なライブラリがはるかに多いため、Python 2.7を使用します(すべてがPython 3に移植されているわけではありません) 。

于 2012-08-17T22:27:47.110 に答える