2017-10-14 10 views
0

まず最初に、これはStackoverflowに関する私の最初の質問です。どんな肯定的な批判も歓迎です。私はどこでも答えを探してみましたが、これは私の最後の手段です。Djangoアプリケーションと一緒にカスタムPythonクラスを使用する

学校のプロジェクトでは、チームと私は非常に特定のサーバーサイドのアーキテクチャを備えたショッピングウェブサイトを作成する必要があります。私たちはPythonを使用することに同意し、他の可能なフレームワークよりも多くの機能を提供するように見えたので、Djangoに向かっていました。私たちの誰も過去にDjangoを使用したことはないことに注意してください。私たちは、ウェブ上にアプリケーションを配備する際のマスターではありません(私たちはすべて学習しています)。

私の問題は次のとおりです。プロジェクトの2週間で、教師は私たちにORMの使用を許可されていないことを教えてくれました。私にとっては、これはDjangoモデルへのバイバイを意味し、私たちはすべて自分で作成する必要があります。

ここに私の質問があります:すでに私たちのすべてのPythonクラスを作成しているので、私たちがDjangoアプリケーションと一緒に使う方法はありますか?私は、Djangoアプリケーション内で独自のPythonクラスを使用している人々のオンラインの例は見ていません。可能であれば、すべてのオブジェクトをインスタンス化する必要がありますか?別のフレームワーク(私はFlaskについて考えています)に行くほうが簡単でしょうか。私はちょうどDjangoがどのように動作しているのか、そして愚かな質問をしているかに関する重要な情報が不足していますか

プロジェクトを終了する前に、4週間で完了し、6時間後に完了しました。 Djangoを使用する前にFlaskを使用するのがオンラインであることがよくあります。使用するのが簡単なためです。私たちはDjangoをプロジェクトの記述ではDjangoが推奨されていたが、Flaskは推奨されなかったので、Djangoを決めた。

ありがとうございます。

+0

あなたの質問が分かりません。 DjangoはちょうどPythonです。必要なクラスを定義して使用することができます。 –

+0

私のアプリがそれらのクラスをインスタンス化するためにどこでそのようなクラスをインスタンス化しますか?マッパーオブジェクトを使用する必要があります。 Djangoアプリケーションをデプロイすると、どのPythonスクリプトが実行されますか?私はそこに私のオブジェクトをインスタンス化する必要がありますか? 私の理解では、DjangoアプリケーションでHTTPリクエストを行うと、アプリケーションはURLのリストを調べ、一致するものがあれば対応するビューをユーザーに返します。 私のカスタムメイドのクラスがこのDjangoの流れのどこに来るのか混乱していますか? – OTreps

答えて

1

絶対的なジャンゴの専門家ではなく、私の意見です。

Django ORMは、このフレームワークが提供する唯一の機能(URLルーティング、テストクライアント、ユーザセッション変数など)ではありませんが、確かにDjangoを使用する際に使用する主なコンポーネントの1つですそれはしばしばDjangoの他のコア機能に直接リンクしているからです。

ORMの使用を完全に禁止すると、すぐに使用できる多くの機能は利用できなくなります。私が考えることができる主な機能の1つは管理インターフェースです。 ORMがあなたのオプションでない場合、あなたはそれを使用することができません。

私の意見では、Flaskのような別のフレームワークに行くべきです。主にORMを使用せずに、Django値の一部がなくなったためです。

希望すると助かります!

+0

@Daniel Rosemanは良い点があります。あなたの目標はデータベーススキーマを作成することだと思っていましたか?あなたのプロジェクトにデータベースが必要ですか?あなたが望むなら、Pythonクラスを定義して使用することができるので、私は答えを取り除きます。 – scharette

+0

プロジェクトにはデータベースを使用する必要があります。私はちょうどDjangoプロジェクトと一緒に私のPythonクラスを使用する適切な方法に混乱しています。私たちはDjangoの流れ全体のどこでオブジェクトをインスタンス化するべきですか?私はオンラインでの例を見ていない、彼らはすべてモデルを使用しています。 – OTreps

+0

はい、ORMはデータベースとプロジェクトの間の追加レイヤーのように機能します。したがって、 'models'を作成することで、生のSQLクエリの代わりにpythonオブジェクトを使ってデータベースとやりとりすることができます。したがって、データベースに格納するクラスを作成することが目標であれば、これはDjangoで 'モデル'が行うことです。しかし、あなたが質問で言ったように、あなたはDjangoのORMを使用することはできません。したがって、これらのモデルを使用することはできません。そのため、別のフレームワークを提案しました。 – scharette

関連する問題