1

私は、ArcGIS やその他の非 Web アプリケーションで使用する Python を学んでいます。しかし、個人的な Web サイトの構築に着手したので、Web 開発に使用することに興味があります (現在知っている唯一のスクリプト言語であるため)。

Django など、「フレームワーク」と呼ばれるものがたくさんあることに気付きました。私が理解していることから、それらは車輪の再発明からあなたを救うためのパッケージの集まりにすぎませんが、それらがどのように機能するかはよくわかりません.

さらに、私は GUI が好きではありません。フレームワークが必要な場合は、ターミナルを介して使用でき、シンプルなものから始めて、準備ができたらより複雑にスケーリングできるフレームワークを見つけたいと思います。フレームワークに関するアドバイスやアイデア、およびフレームワークを使用する理由を教えてください。

4

4 に答える 4

2

上記の2番目の投稿です。Djangoは優れたフレームワークであり、長期的には多くの時間を節約できます。

Webアプリケーションを作成するときに遭遇するほとんどすべての課題は、すでに解決されています。たとえば、電子メールを送信するにはどうすればよいですか。データを編集するための管理インターフェースはどうですか?ユーザーのセキュリティ?

私の見解では、最良のフレームワークを選択することは、そのフレームワークを取り巻くエコシステムに関するものです。どれくらいよく使われていますか?インターネットで広く議論されていますか?私が直面している問題に他の人が遭遇し、解決したことがありますか?

どこから始めるかについては、ここでDjangoチュートリアルを参照してください:http: //docs.djangoproject.com/en/1.2/intro/tutorial01/

Djangoが提供しすぎると思われる場合は、CherryPyを見て、異なる、はるかに単純なアプローチを比較することをお勧めします。

于 2011-02-12T22:31:09.543 に答える
2

Python Web フレームワークは GUI とは関係なく、すべてターミナル経由で使用できます。

あなたが言うように、フレームワークの利点はすべて、ウェブサイトを構築するために必要なコンポーネントを提供することで、あなたの生活を楽にすることに関係しています。主なものは、ORM、テンプレート システム、および URL ルーティングによるデータベース インタラクションです。それに加えて、大きなフレームワークには、ユーザー認証、管理インターフェースなどのオプションの追加機能も含まれていました。

個人的には Django が好きですが、あなたのマイレージはさまざまかもしれません: ただし、Python や Web でをするにしても、基本的にルーティングだけを行う Flask のような絶対最小限のフレームワークの 1 つであっても、何らかのフレームワークが必要になると思います。部。これらすべてをゼロから作成しても意味がありません。

于 2011-02-12T21:48:04.653 に答える
1

Python には多くのオプションがあります。まず、ここを参照することをお勧めします。基本を説明し、フレームワークのかなり完全なリストを提供します。

シンプルなものから始めて、より複雑なものを処理できるものを探している場合は、web2pyを見てください。インストールや構成が不要で、依存関係がなく、Web サーバーとリレーショナル データベースが含まれています。オプションの Web ベースの統合開発環境と管理インターフェイスも含まれていますが、必要に応じて代わりにターミナルを使用して作業することもできます。

非常に習得容易で、使いやすさ、迅速な開発、およびセキュリティのために設計されています。含まれている scaffolding アプリと多くの適切なデフォルト動作のおかげで、ごくわずかなコードで多くのことを行うことができます。web2py は、データベース抽象化レイヤー、フォーム処理と検証、アクセス制御、Web サービス、簡単な Ajax など、多くの組み込み機能を備えた十分に統合されたフルスタック フレームワークであるため、物事がより複雑になるにつれて、それを処理できます。統合。

于 2011-02-13T05:51:51.473 に答える
0

個人的には、フレームワークは使用せず、BaseHTTPServer でゼロから作成するか、WSGI (mod_wsgi を使用) を使用して作成します。

スケルトンを書くには少し時間がかかりますが、より高速で (実行時を意味します)、制約が少なく、学ぶことが少ないと思います。

于 2011-02-12T23:02:27.930 に答える