タグ付けされた質問 「django」

Djangoは、Pythonで記述された、オープンソースのサーバーサイドWebアプリケーションフレームワークです。複雑なデータ駆動型のWebサイトとWebアプリケーションを作成するのに必要な労力を軽減するように設計されており、特にコードの削減、冗長性の排除、暗黙よりも明示的であることに重点を置いています。

4
GitでMySQLデータベースをバックアップするのは良い考えですか?
アプリケーションのバックアップ状況を改善しようとしています。DjangoアプリケーションとMySQLデータベースがあります。Gitでデータベースをバックアップすることを提案する記事を読みました。 一方で、データとコードのコピーを同期させておくので気に入っています。 しかし、Gitはデータ用ではなくコード用に設計されています。そのため、コミットごとにMySQLダンプを比較する多くの余分な作業を行うことになります。保存する前にファイルを圧縮しても、gitはファイルを差分しますか? (現在、ダンプファイルは100MB非圧縮、bzip圧縮時は5.7MBです。) 編集:コードとデータベーススキーマの定義は既にGitにあります。これは実際にバックアップすることを心配しているデータです。
57 database  git  mysql  django 

6
PythonをゼロからWeb開発まで学ぶにはどうすればよいですか?[閉まっている]
私は、Web開発のためのPythonの学習を検討しています。 すでにJava(JSP /サーブレット)の基本的なWeb開発経験があると仮定すると、Webデザイン(HTML、CSS、JS)、基本的なプログラミングの概念に精通しており、Pythonを初めて使用する場合、どうすればよいですか構造化された方法でPythonを学習し、最終的にはPythonとDjangoを使用したWeb開発につながりますか? PythonでWebアプリケーションを作成するのが急いでいないので、PythonでのWeb開発に関連する技術の知識にギャップを残さないように、徹底的に学びたいと思います。私の努力に役立つ本、リソース、またはテクニックはありますか?それらをどの順番で読むべきですか? 更新: 構造化された方法で学習するということは、基本から始めて、Pythonが提供する重要な詳細/機能の一部を残さずに高度なものを学習することを意味します。プログラミングで既に知っていることをPythonに適用する方法を知りたいです。

4
Django Webサイトのフロントエンド(UI)を開発する方法
私はDjangoとWeb開発の初心者を学んでいます。この質問があまりにも馬鹿だと思うなら、すみません。 そのため、Djangoを使用して、Google App EngineでホストするFacebookアプリケーションを作成しています。このプロジェクトは、任意のWebサイトのRSS / Atomフィードの読み取りに焦点を当てています(これですべてです)。 RSS / Atomファイルを処理するのに十分だと確信していますが、フロントエンド(ユーザーインターフェイス)の部分-「設計部分」について心配しています。HTML / CSS / JavaScriptを知りません(単純なHTMLを扱うことはできますが、それは設計上の問題にはつながりません)。 最初に、dreamweaverまたは同等のソフトウェアのようなツールを使用してUIを設計することを考えましたが、実際にdjangoを学び始めたとき、それは「不可能」なことのようです。 そう、 サイトのUI部分をどのように設計すればよいですか?dreamweaverなどのツールを使用できませんか? NOの場合、JavaScript / CSSを知らない私のような人にとって最善の方法は何ですか 「はい」の場合、dreamweaverに代わる最良のオープンソースの選択肢は何ですか? Google App Engineはこれらすべてを処理できますか? Djangoを扱う人々がこれらのテンプレートページを編集する方法。Djangoは、企業内の異なる部門が個別に処理できるように、論理(ビュー)部分と設計(テンプレート)部分を分離することに言及しています。しかし、DjangoのHTMLページがHTML(設計)に関係のない「タグ」で満たされているという事実を考慮して、UIの人々はそれをどのように処理しますか?

3
Pythonビジネスロジックを正確にdjangoに配置する場所
Django / Python / Web Developmentを学び始めたばかりです。この問題は、しばらく私を悩ませてきました。 Djangoで複数のテンプレートを使用してアプリケーションを作成しています。私は、基本的にそれぞれのテンプレートへの応答をレンダリングするだけのviews.pyを持ち、DBを構造化したmodels.pyを持っています。テンプレートの1つで、画像をアップロードする必要があります(実行できます)。アップロードされた画像の機能に基づいたロジックを実行する必要があります(まだ実行されていません)。このロジックには、多くの重い計算が含まれます。計算の実行後、ロジックは処理済みの情報(座標)をテンプレートに返す必要があります。 pythonファイルを次々に呼び出すスタンドアロンのPythonデスクトップアプリケーションで、これらすべてのアクションを正常に実行できました。ただし、これをWebアプリケーションにしたいので、Djangoフレームワークの使用を開始しました。 私は多くの検索を行いましたが、すべてのロジックを含むこのPythonファイルをどこに正確に配置すべきかをまだ理解できていません。別のクラスベースのファイルが(logic.py)あり、それを呼び出す必要がありview.pyますか?グーグルで調べたところ、多くの開発者がDjangoのmodels.pyにビジネスロジックを配置していることがわかりました。ただし、モデルはバックエンドと排他的に通信する必要があるため、直感的には正しくないと感じています。助けていただければ幸いです。事前に感謝します。

5
PythonとDjangoは、Java / .NET Web開発者にとってどれほど難しいと思いますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私は数か月前に現在と将来のすべての開発努力を率いている小さな会社で新しい仕事を始めました。私は個人的に、主にJavaだけでなく.NETの観点からソフトウェアの設計と開発に長年の経験があります。私はキャリアの後半で。同じ問題を解決するために。 私の上司にはスタートアップ企業があり、あまり多くの情報を明かすことなく、Googleマップに統合してルートを構築する中程度に洗練されたWebアプリケーションが必要でした。 彼は彼らが約束したWebアプリケーションを外注し、主に配信不足に陥り、期限を過ぎました。彼は現在、投資したお金の少なくとも一部を回収しようと戦っています。現在のサイトのソースコードは持っていますが、実際に使用する前に修正して追加したいもののランドリーリストがあります。 彼は私にもう少しお金を払ってこれをやりたいかと尋ねましたが、問題はサイトがDjangoを使用してPythonで書かれていたことであり、私はまったく経験がありません。PythonやDjangoについてはほとんど何も知らず、ゼロから学ぶ必要があるため、私はこれが本当にベストな人間ではないと彼に言いました。私がその時間を使って言語とプラットフォームを学習しているとしたら、彼に時間ごとに彼に時間を請求するのは公平ではないと感じます。 私の経験レベルの要約に基づいて、これを拾うのにどれくらい難しいか、どれくらい時間がかかると思いますか?時間の無駄だと思うなら、経験豊富なPython Web開発者を見つけるための提案を誰かがお勧めできますか?お金は彼にとって今の関心事なので、彼はもはや最大の予算を持っていません。

4
DjangoフォームはMVCに違反していますか?
私は、長年のSpring MVCから来たDjangoと仕事を始めたばかりで、フォームの実装は少しおかしいと感じています。慣れていない場合、Djangoフォームは、フィールドを定義するフォームモデルクラスから始まります。同様に、Springはフォームをバッキングするオブジェクトから始まります。ただし、Springがフォーム要素をJSP内のバッキングオブジェクトにバインドするためのtaglibを提供している場合、Djangoにはモデルに直接関連付けられたフォームウィジェットがあります。CSSを適用したり、完全にカスタムウィジェットを新しいクラスとして定義するためにフィールドにスタイル属性を追加できるデフォルトのウィジェットがあります。それはすべてあなたのpythonコードに含まれています。それは私には馬鹿げているようです。最初に、ビューに関する情報をモデルに直接入力し、次にモデルを特定のビューにバインドします。何か不足していますか? 編集:要求されたいくつかのサンプルコード。 ジャンゴ: # Class defines the data associated with this form class CommentForm(forms.Form): # name is CharField and the argument tells Django to use a <input type="text"> # and add the CSS class "special" as an attribute. The kind of thing that should # go in a template …
16 mvc  django 

2
Djangoアプリケーション戦略
私は少し最近成長しているDjangoプロジェクトにしばらく取り組んできました。取り扱いを容易にするためにどの戦略を使用するかについて少し考えてきました。入力を行いたいことの1つは、アプリケーションをいくつかの小さなアプリケーションに分割する必要があるかどうかです。それにより、ビューとモデルファイルが小さくなり、懸念事項の一部が分離されます。 これに悩まされることの1つは、私のアプリケーションでは、アプリケーション間で使用されるいくつかのヘルパーメソッドがあることです。また、一部のモデルはアプリケーション間で共有/使用する必要があります。これは理にかなっていますか?これは、アプリをいくつかの小さなアプリに分割することで達成したいと思っていた懸念の分離にはうまくいきません。アプリケーション間でヘルパーメソッド、モデルなどを共有するための良いアプローチは何でしょうか?

1
WindowsはDjangoコミュニティの「二流市民」ですか?
私は現在、最初に自分自身をホストし、その後顧客が自己ホストできるようにする予定のWebアプリケーションの研究開発を行っています。 私の仕事は、Webフレームワークを評価して、最初に最大の生産性と保守の容易さを提供するかどうかを確認することです。また、お客様が制御する環境への展開を簡単にサポートできます。 私たちのチームは、ASP.NET(MVCおよびWebforms)およびRuby on Railsの経験があります。 Railsでの経験では、Windowsの展開は非常にタブーなテーマであり、IRCまたはStackOverflowに関する質問はすべて、「なぜLinuxではないのか」という急な反応に遭遇します。ただし、この場合、ターゲット市場はWindowsまたはLinuxサーバーを実行している可能性があります。 これはDjangoの土地でも同じですか? ゴミのパフォーマンスは可能ですか? 痛みをなくすことは可能ですか? それは合理的であると見なされ、Linuxを実行したくないという完全に愚かなアイデアとして扱われていませんか?

4
JSON応答にHTMLマークアップを含める必要がありますか?
eコマースサイトで、カートにアイテムを追加するときに、選択可能なオプションを含むポップアップウィンドウを表示したいと思います。iPod Shuffleを注文していて、彫刻する色とテキストを選択する必要があるとします。 ウィンドウをモーダルにしたいので、Ajax呼び出しで生成されたライトボックスを使用しています。現在、2つのオプションがあります。 オプション1:データのみを送信し、JavaScriptを使用してHTMLマークアップを生成する これの良い点は、Ajaxリクエストを最小限に抑えて、データをマークアップと混合しないことです。 この点でそれほど優れていないのは、サーバー側のテンプレートエンジンを使用する代わりに、JavaScriptを使用してレンダリングを行う必要があることです。クライアント側のテンプレートソリューションを使用して、アプローチを少しクリーンアップできる場合があります。 オプション2:HTMLマークアップを送信する これの良い点は、残りのレンダリングタスク(Django)で使用しているのと同じサーバー側テンプレートエンジンを使用して、ライトボックスのレンダリングを実行できることです。JavaScriptは、HTMLフラグメントをページに挿入するためにのみ使用されます。そのため、レンダリングは明らかにレンダリングエンジンに委ねられます。私には理にかなっています。 しかし、何らかの理由で、Ajax呼び出しでデータとマークアップを混合することに不安を感じています。何が私を不安にさせているのか分かりません。つまり、すべてのWebページが提供されるのと同じ方法で、データとマークアップが正しいのですか?
13 mvc  django  templates  json 

1
Djangoでのユニットテスト
私は大規模なDjangoプロジェクトの効果的な単体テストを書くのに本当に苦労しています。私はかなり良いテストカバレッジを持っていますが、私が書いてきたテストは間違いなく統合/受け入れテストであり、ユニットテストではないことに気付きました。これをできるだけ早く修正したいと思います。 これが私の問題です。私のスキーマは深いリレーショナルであり、非常に時間指向であり、モデルオブジェクトに高い内部結合と多くの状態を与えます。私のモデルメソッドの多くは、時間間隔に基づいてクエリを実行auto_now_addし、タイムスタンプ付きのフィールドで多くのことを行っています。したがって、たとえば次のようなメソッドを使用します。 def summary(self, startTime=None, endTime=None): # ... logic to assign a proper start and end time # if none was provided, probably using datetime.now() objects = self.related_model_set.manager_method.filter(...) return sum(object.key_method(startTime, endTime) for object in objects) このようなものをテストする方法はありますか? ここに私がここにいます。ユニットテストの目的には、その引数にいくつかの模擬動作を与える必要がありますが、正しい結果を生成するために正しくフィルタリング/集計されていますか?by key_methodsummary datetime.now()のモックは簡単ですが、残りの動作をどのようにモックできますか? フィクスチャを使用することもできますが、データを構築するためにフィクスチャを使用することの長所と短所を耳にしました(保守性が悪いことは、私にとっては当たり前のことです)。 ORMを使用してデータを設定することもできますが、関連するオブジェクトも作成する必要があるため、制限される可能性があります。また、ORMでは、auto_now_addフィールドを手動で変更することはできません。 ORMのモックは別のオプションですが、深くネストされたORMメソッドをモックするのが難しいだけでなく、ORMコードのロジックがテストからモックされるため、モックはテストをテストの内部と依存関係に本当に依存させるようですテスト対象機能。 クラックするのが最も難しいのは、このような関数であると思われます。これらの関数は、モデルのいくつかの層と下位レベルの関数にあり、これらの関数は非常に複雑ではないかもしれませんが、時間に非常に依存しています。私の全体的な問題は、どのようにスライスしたように見えても、テストはテストしている機能よりもはるかに複雑に見えることです。

2
キーベースのキャッシュはどのように機能しますか?
37Signalsブログの記事を最近読んだところ、キャッシュキーがどのように取得されるのか疑問に思いました。 オブジェクトのタイムスタンプを含むキャッシュキーがあれば十分です(つまり、オブジェクトを更新するとキャッシュが無効になります)。しかし、キャッシュからフェッチしようとしているオブジェクトそのものにDBヒットを引き起こさずに、テンプレートでキャッシュキーをどのように使用しますか。 具体的には、これにより、たとえば投稿のコメントをレンダリングする1対多の関係にどのように影響しますか。 Djangoでの例: {% for comment in post.comments.all %} {% cache comment.pk comment.modified %} <p>{{ post.body }}</p> {% endcache %} {% endfor %} Railsでのキャッシュは、たとえばmemcachedへの単なるリクエストとは異なります(キャッシュキーを別のものに変換することは知っています)。キャッシュキーもキャッシュしますか?

2
例によるDjangoの学習[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 5年前休業。 この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答や相互作用を受け入れていません。 私が初めてAndroidの学習を始めたとき、私はTwitterのクローンを構築するステップを踏むマラカナによる素晴らしい一連のYouTube ビデオを見つけました。すべての手順を説明し、基本、一般的なライブラリ、ベストプラクティス、リソースなどを説明しました。実用的なアプリを構築する際に専門家の肩越しに目を通すことが、私にとって最高の学習方法でした。何よりも、私が構築できるスケルトンを提供してくれました。その後、調査を続け、どの質問をするかを知ることができました。 今、Djangoに似たものを探しています。もちろん、公式チュートリアルとDjango Bookをチェックアウトしました。前者はいくつかのDjangoの筋肉を曲げますが、完全なアプリをウォークスルーしません。後者は確かに優れていますが、ビルドするアプリは非常に基本的であり、より高度なテーマに到達するまでに、チュートリアルは失敗し、短いコードスニペットとドキュメントのような説明に戻ります。 アマゾンをチェックアウトすることはひどく励みになるものではありません。最新の一般的なDjangoブックはほぼ2年半前にリリースされ、v1.0のみをカバーしています。公平に言うと、これはオンラインドキュメントが優れているためと思われますが、ここでもウォークスルーを探しています。Practical Django Projectsに出会ったとき、私はまさに興奮していました。ただし、レビューの中には、ソースコードがない、エラーが多くない、エラッタがない、完全に無関心な作成者で応答しない発行者など、いくつかの深刻な問題を主張するものもあります。 そして、私は1つ目の正方形に残され、あなたのアドバイスが必要です。巨人の肩の上に座り、現実的なDjangoプロジェクトを最初から最後までたどることができる場所はありますか?フレームワークのより新しいバージョンを使用することをお勧めします。
10 learning  django 

3
編集可能なサイトコンテンツを保存しますか?
一部のコンテンツ(テキスト、料金プランなどのビジネスロジック)を社内で簡単に編集できるようにしたいDjangoベースのWebサイトがあるため、コードベースの外部に保存することにしました。通常、理由は次のいずれかです。 これは、技術者でない人が編集したいものです。1つの例は、Webサイトのコピーライティングです。プログラマーは、デフォルトで "Lorem ipsum ..."になるテキストを含むテンプレートを準備し、実際のコンテンツは後でデータベースに挿入されます。 これは、新しいコードをデプロイする必要なく(現在は週に2回)迅速に変更できるようにしたいものです。例としては、さまざまな価格階層の顧客が現在利用できる機能があります。これらをハードコーディングする代わりに、データベースから読み取ります。 説明されているソリューションは柔軟ですが、私がそれを気に入らない理由がいくつかあります。 コンテンツはデータベースから読み取る必要があるため、パフォーマンスのオーバーヘッドがあります。 キャッシングスキームを使用してこれを軽減しますが、これによりシステムが多少複雑になります。 コードをローカルで実行する開発者は、本番環境での実行方法と比較して、システムを大幅に異なる状態で認識します。自動テストでは、システムを別の状態で実行します。ステージングサーバーでの新機能のテストなどの状況も複雑になります。ステージングサーバーにデータベースの最新のコピーがない場合、それは本番環境とは予期せず異なる場合があります。 新しい状態をリポジトリにコミットすることで(たとえば、データの移行を追加することで)軽減できますが、それは間違ったアプローチのようです。それは...ですか? これらの問題を解決するための最良のアイデアはありますか?私が見落としているコンテンツを処理するためのより良いアプローチはありますか?

3
一般的に、RESTサービス用のクライアントライブラリを開発して、APIの破損を防ぐ必要がありますか?
UIコードが同じチームによって開発されるが、サービスレイヤー(REST / Java)とは異なる言語(Python / Django)で開発されるプロジェクトがあります。各レイヤーのコードは、異なるコードリポジトリに存在し、異なるリリースサイクルに従うことができます。UIレイヤーの観点から、サービスレイヤーの重大な変更を防止/軽減するプロセスを考え出そうとしています。 UIまたはサービスレイヤー(2つのGitリポジトリにあるコードをビルドするためのCIツールとしてJenkinsを使用しています)を構築するたびに実行するUIレイヤーレベルで統合テストを作成することを考えました。障害が発生すると、サービスレイヤーで何かが壊れ、コミットが受け入れられません。 また、サービスレイヤーの開発者に、UIレイヤーに存在するRESTサービスのクライアントライブラリを作成および保守してもらい、UIレイヤーに重大な変更があった場合に更新するようにしてもよいでしょうか(ベストプラクティスですか?)。彼らのサービスAPI?おそらく、UIコードが構築する静的に型付けされたAPIの利点があるでしょう。クライアントライブラリAPIが変更された場合、UIコードはコンパイルされません(したがって、重大な変更があったことがすぐにわかります)。また、UIまたはサービスレイヤーの構築時に統合テストを実行して、UIとサービス間の統合が引き続き機能することをさらに検証します。
9 rest  django 

6
1時間ごとにコードを実行する[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 4年前休業。 1時間ごとに実行されるWebサービスを作成する必要があります。これは、データベース内のデータを確認し、特定の条件が満たされている/満たされていない場合に同じデータベース内のテーブルにアラートを追加するために使用されます。私たちが現在持っているものは: Pythonを使用してAmazon Web Services(AWS)仮想サーバーにレポートするエンドデバイスがあります。AWSサーバーはその情報を取得してMySQLデータベースに保存します。AWSサーバーはDjangoとApacheを実行するLinuxです。エンドデバイスによって保存されたデータを検証するPythonコードを毎時間実行できるようにする必要があります。特定の条件が満たされない場合alerts、データベースのテーブルにレコードが追加されます。 上記の設定を作成することを最初に契約しました。Python、Django、Apacheは初めてです。ただし、エンドデバイスとの間でデータを送受信するPythonコードにはすでにいくつかの変更を加えています。私はWebプログラミングに侵入しているコーダーです。 誰か私がこれを行う方法について何かアドバイスはありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.