2011-01-10 9 views
2

django、pythonで開発されたWebサイトをデスクトップアプリケーションに変換する方法。 私は、PythonとDjangoに新しいですが、あなたが初心者のためにアドバンスdjango Webアプリケーションをデスクトップアプリケーションに変換する方法

+1

"デスクトップアプリケーション"とは何ですか? Django + SQLiteサイトをローカルで配布することはできますが、それは可能でしょうか? – TryPyPy

答えて

2

おかげで私を助けてくださいすることができ、あなたはTK/Tclのようなデスクトップテクノロジーを使用したWeb UIを交換する必要があります。

これを行うと、クライアントとサービスの間のプロトコルとしてHTTPを使用したくない場合があります。

DjangoはWebフレームワークです。デスクトップに切り替える場合は、Djangoを忘れる必要があります。

+0

彼の主張は、バックエンドではなくフロントエンドを作成することだと思います。彼はまだこれを知らないかもしれません。 – milkypostman

1

私はPyQt toolkitでDjangoアプリケーション機能を複製しようとします。

実際には、QtWebKitの助けを借りて、PyQtアプリケーションにWebコンテンツを埋め込むことができます。潜在的に有用なリンクを投稿しますが、複数の投稿を投稿するには評判があまりにも低いです:

+0

PyQtのQtWebKitに関するドキュメントは、http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qtwebkit.htmlにあります。 PythonでQtWebKitを使ってWebページをレンダリングする方法の簡単な例は、http://www.rkblog.rk.edu.pl/w/p/webkit-pyqt-rendering-web-pages/で見つけることができます。 – aknuds1

1

ビューをデカップリングして新しいデスクトップアプリケーションに配置しようとする場所は2つあります。まず、既存のコントローラとモデルを使用して、新しいビューを適応させることができます。次に、既存のモデルのみを使用して、新しいビューとコントローラを構築することができます。

アプリケーションの残りの部分からモデルを切り離すことができるMVCの原則に忠実に従わなかった場合は、単純に全体を書き直すことができます。あなたがこのルートに行くことを余儀なくされれば、djangoとhttpを完全に(duffymoは上記のように)保釈します。

また、パフォーマンス要件とサービスの「重さ」に基づいて、これらのソリューションを評価する必要があります。パフォーマンス要件が厳しい場合は、HTTPレイヤーに依存するだけで、モデルにシンプルなAPIを提供することができます。

私はあなただけでWebサーバに接続するアプリケーションを作成するべきだと思いますがあり、おそらく解決策の多くは明らかにされているが、これは私が適切なものが何であるかを決定するのにかかるアプローチです...

2

。あなたのdjangoアプリケーションにRESTfulなAPI呼び出しを得るための良い答えがあります。つまり、基本的にはサーバーの新しいフロントエンドを作成するだけです。

Using django-rest-interface

これは、デスクトップアプリケーションとして全体 Djangoアプリケーションを書き換えても意味がありません。つまり、どこにデータを保存したいのですか?

0

CamelotというプロジェクトがPyQtを使ってデスクトップ上でDjangoのような機能を組み合わせようとしているようです。しかしそれを試していない。

+0

私はPyGtkを試してみて、それは私のために働く –

0

私は同様の問題について考えています。

QtWebkit経由でローカルホストからdjando-websiteを(ループインターフェース上のTCP/HTTPSをどうにかして)取り除くことができる最小のPyQt Guiを使用すれば十分でしょうか?

あなたが必要と思われるのは、Python-Broserを最小限に抑えて、Webserverのビルドをサーファーすることだけです(HTTP/TCPレイヤーを経由せずにhtml-payloadを直接Djangoに呼び出すこともできます)。

関連する問題