13

状況:

Djangoを使用する状況を暫定的に検討しています

  1. HTML を提供する (Django のテンプレートによる)
  2. Django プロジェクトの CSS や JS などのすべての静的ファイルを提供する

Django を使用するという私の意図はここで終わりです。JavaScript ファイルがクライアント側にダウンロードされた後、RESTful API (Ajax 方式) を使用して Flask バックエンドと通信します。


なぜ 2 つのフレームワークなのか? そして、なぜこのように?

私が一緒に取り組んでいるこのプロジェクトのフロントエンド担当者は Django をよく知っており、主に彼の CSS / HTML テンプレート / jquery スキルを使用したいと考えています。

私は独立した API サーバーを持ちたいと思っており、(API サービスの構築の観点から) 私のニーズには Flask が理想的な選択肢であると感じています。

「Django の人に、テンプレートに Jinga2 を使用するように依頼してみませんか?」と提案する人もいると思います。(そうすれば、Django を廃止することができます) 私の現在の答えは次のようになると思います。

「Django を使用して Restful API 呼び出しを提供してみませんか?」という人もいると思います。(そうすれば、Flask を廃止することができます) 私の現在の答えは次のようになると思います: 私 (API ロジックを実装する人として) は Flask が好きです。


私の質問

短いもの:これは実行可能ですか?または、これはクレイジーなアイデアに聞こえますか?

ロングワン:親切にガイダンスを教えてもらえますか?

ありがとう、

4

4 に答える 4

15

私はパーティーに少し遅れていますが、Application Dispatchingがこれを助けてくれるはずです。ドキュメントのイントロによると、これは次のようになります。

アプリケーションのディスパッチは、複数の Flask アプリケーションを WSGI レベルで組み合わせるプロセスです。Flask アプリケーションをより大きなものに結合できるだけでなく、任意の WSGI アプリケーションに結合できます。これにより、必要に応じて、同じインタープリターで Django と Flask アプリケーションを並べて実行することもできます。

于 2015-04-02T08:54:09.493 に答える
10

私があなたなら、デザイナーから Django テンプレートを取得して Jinja2 に変換し、Flask でアプリケーションを 100% ビルドします。しかし、あなたが尋ねたので...

これは実行可能ですか?または、これはクレイジーなアイデアに聞こえますか?

はい、両方に:)

よろしければご指南いただけないでしょうか?

簡単な方法は次のとおりです。

1 つは Flask で、もう 1 つは Django で、2 つのアプリケーションを作成します。データベースやその他のリソースを共有しようとするときに発生するすべての問題を解決し、2 つのアプリケーションが実行されており、それぞれが独自の Web サーバーを持ち、それぞれが異なるポートで要求をリッスンしているとします。

ここで、プロキシ Web サーバーをフロント Web サーバーとして外部に配置し、クライアントからの要求を URL に応じていずれかのアプリケーションにプロキシします。Flask アプリケーションのすべての URL を の形式http://hostname/api/...にし、URL の をキーオフしapiて、プロキシ サーバーで要求を分離し、適切なアプリケーションに渡すことができます。

外部からはすべてのリクエストが同じホスト名とポート (プロキシ サーバーのポート) に送信されるため、クロスサイト スクリプティングで問題が発生することはありません。

于 2013-06-22T01:45:08.080 に答える
1

Jinja と Django は非常に似ています。Django 開発者に、Jinja だけを使用するように指示する必要があります。このプロジェクトを成功させるには、さらに複雑な方法を追加する必要があります。

Django 開発者というものはありません。ただの開発者です。

于 2013-06-22T02:09:20.417 に答える