問題タブ [django]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Djangoテンプレートと変数属性
GoogleAppEngineとDjangoテンプレートを使用しています。
次のようなオブジェクトを表示したいテーブルがあります。
Djangoテンプレートは次のとおりです。
現在、Djangoのドキュメントには、が表示されたときにが記載されています。変数
でデータを取得するためにいくつかのことを試みます。そのうちの1つは辞書検索です。これはまさに私が望むものですが、発生しないようです...
database - Django でデータベース テーブルを変更する
私が始めたプロジェクト (fyi、ブラウザベースのゲーム) に Django を使用することを検討しています。私が最も気に入っている機能の 1 つは、syncdb
定義した Django モデルに基づいてデータベース テーブルを自動的に作成する機能です (a他のフレームワークには見られない機能です)。ドキュメントでこれを見たとき、私はすでにこれが本当であるには良すぎると思っていました:
Syncdb は既存のテーブルを変更しません
syncdb は、まだインストールされていないモデルのテーブルのみを作成します。インストール後にモデルクラスに加えられた変更に一致するように ALTER TABLE ステートメントを発行することはありません。モデル クラスとデータベース スキーマへの変更には、しばしば何らかの形式のあいまいさが含まれます。そのような場合、Django は正しい変更を推測する必要があります。プロセス中に重要なデータが失われるリスクがあります。
モデルに変更を加え、それに合わせてデータベース テーブルを変更したい場合は、sql コマンドを使用して新しい SQL 構造を表示し、それを既存のテーブル スキーマと比較して変更を確認します。
既存のテーブルの変更は「手作業」で行う必要があるようです。
私が知りたいのは、これを行うための最良の方法です。2 つの解決策が思い浮かびます。
- ドキュメントが示唆するように、DB で手動で変更を行います。
- データベースのバックアップを作成し、ワイプし、テーブルを再度作成します (syncdb を使用して、テーブルを最初から作成しているため)、バックアップしたデータをインポートします (データベースが大きい場合、これには時間がかかりすぎる可能性があります)。
何か案は?
python - WSGIとapacheを使用してdjangoをセットアップする
私はmod_pythonではなくmod_wsgiとapacheで販売されています。すべてのパーツ(django、apache、mod_wsgi)をインストールしましたが、デプロイで問題が発生しました。
私はosx10.5でapache2.2とdjango1.0b2、mod_wsgi-2.3を使用しています
私のアプリケーションはトレッドと呼ばれています。
関連するファイルは次のとおりです。httpd-vhosts(httpd-confに含まれています)
mod_wsgi-handle.wsgi
http:// tredにアクセスすると、レンダリングされたWebサイトではなく、ディレクトリリストが表示されます。私はチュートリアルを正しく実行したと思いますが、それは明らかに正しくありません。これを機能させるために何ができますか?
python - Djangoの既存のモデルにデータを追加するにはどうすればよいですか?
現在、最初のプロジェクトとして、製品ベースのCMSを少し作成しています。
これが私の質問です。製品モデルにデータ(製品)を追加するにはどうすればよいですか?
urls.pyに「/admin/ products / add」を追加しましたが、そこからどこに行くのか本当にわかりません。ビューとテンプレートの両方をどのように作成しますか?私はPythonについてあまりよく知らないので、Djangoは初めてです。
この既存のdjango管理インターフェースを使用せずにこれをすべて行うにはどうすればよいですか?
python - カスタム フォームでの Django 時刻/日付ウィジェットの使用
デフォルトの管理者がカスタム ビューで使用する気の利いた JavaScript の日付と時刻のウィジェットを使用するにはどうすればよいですか?
Django フォームのドキュメントに目を通しましたが、django.contrib.admin.widgets について簡単に言及されていますが、使い方がわかりません。
これが適用したいテンプレートです。
また、このフォームのビューを自分で実際に作成したわけではなく、一般的なビューを使用していることに注意してください。url.py からのエントリは次のとおりです。
そして、私はDjango/MVC/MTV全体に関連して初めてなので、簡単に行ってください...
python - 常にdjangoテンプレートコンテキストにユーザーを含める
ユーザーが投稿できる小さな会社の小さなイントラネット サイトに取り組んでいます。人々がメールアドレスを入力するだけで、一意のログイン URL が送信され、将来のリクエストのために常に識別される Cookie が設定される、非常に単純な認証メカニズムを想像しました。
私のテンプレート設定では base.html があり、他のページはこれを拡張しています。base.html にログインまたは登録ボタンを表示したいのですが、必要な変数が常にコンテキストの一部であることを確認するにはどうすればよいですか? 各ビューは好きなようにコンテキストを設定しているようで、グローバルなコンテキスト人口はありません。各コンテキスト作成にユーザーを含めずにこれを行う方法はありますか?
または、コンテキストを適切にセットアップするために独自のカスタム ショートカットを作成する必要がありますか?
python - djangoでURLを生成する方法
Djangoのテンプレート言語では{% url [viewname] [args] %}
、パラメーターを使用して特定のビューへのURLを生成するために使用できます。Pythonコードでプログラムで同じことをどのように行うことができますか?
必要なのは、各項目に名前、URL、およびアクティブなフラグ(現在のページであるかどうかに関係なく)があるメニュー項目のリストを作成することです。これは、テンプレート言語よりもPythonでこれを行う方がはるかにクリーンになるためです。
python - 大規模な django プロジェクトのプロジェクト設計 / FS レイアウト
大規模なdjangoプロジェクトをレイアウトする最良の方法は何ですか? チュートリアルでは、アプリ、モデル、およびビューをセットアップするための簡単な手順が提供されますが、アプリとプロジェクトをどのように分割する必要があるか、典型的なプロジェクト内のアプリ間でどの程度の共有が許容/必要であるかについての情報はほとんどありません (明らかに、これは主にプロジェクト) および一般的なテンプレートを保持する方法/場所。
特定のプロジェクト レイアウトが別のプロジェクト レイアウトよりも優れている理由について、例、提案、説明がある人はいますか? 特に、多数の単体テスト (実際のコード ベースのサイズの 2 ~ 5 倍) の組み込みと、文字列の外部化/テンプレートに関心があります。
python - HTTPバージョンまたはヘッダーはWebページの外観に影響を与えますか?
答えは明らかに「いいえ」だと思っていたでしょうが、ステージングサーバーからサイトを表示すると、ローカル開発サーバーから表示した場合よりも少し大きく表示されるという奇妙な状況が発生しています。私はCharlesを使用して、HTML、画像、CSS、JavaScript、すべてが同じであることを確認しました。
トラフィックの唯一の違いは、(ローカルサイトはDjango開発モードサーバーから提供されるため)応答ヘッダーは次のようになることです。
一方、ステージングサーバー(DjangoがApache内で実行されている)では、ヘッダーは次のようになります。
したがって、私が知る限り、唯一の違いはHTTP/1.1とHTTP/1.0、サーバーID(ApacheとWSGIServer)、およびDate/Serverヘッダーの順序です。
外観の違いについてもう少し詳しく説明すると、基本的には、ステージングサーバー上のサイトのバージョンが約10%「ズームイン」されているように見えます。たとえば、ホームページを支配する主要なロゴの幅は220ピクセルですが、ステージングサーバーのサーバーが245ピクセルの幅で表示される場合です。ページ上の他のすべて(他の画像、テキスト、間隔など)も比例して大きくなります。
これはすべてFirefox3にあります。現時点でテストできる他のブラウザはありません。
他の誰かが以前にこのような奇妙な行動に遭遇したことがありますか?私は途方に暮れています。