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

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


9
djangoテストアプリエラー-テストデータベースの作成中にエラーが発生しました:データベースを作成する権限が拒否されました
コマンドを使用してアプリをテストしようとしたとき(このコマンドを使用するファブリックを使用してmyprojectをデプロイしようとしたときに気づきました): python manage.py test appname 私はこのエラーを受け取ります: Creating test database for alias 'default'... Got an error creating the test database: permission denied to create database Type 'yes' if you would like to try deleting the test database 'test_finance', or 'no' to cancel syncdbコマンドは機能しているようです。settings.pyのデータベース設定: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', # …

18
Django CSRFチェックがAjax POSTリクエストで失敗する
私のAJAX投稿を介して、DjangoのCSRF保護メカニズムに準拠するためにいくつかの助けを借りることができました。私はここの指示に従いました: http://docs.djangoproject.com/en/dev/ref/contrib/csrf/ そのページにあるAJAXサンプルコードを正確にコピーしました。 http://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax 呼び出しのgetCookie('csrftoken')前の内容を印刷するアラートを配置し、xhr.setRequestHeader実際にいくつかのデータが入力されています。トークンが正しいことを確認する方法はわかりませんが、何かを見つけて送信することをお勧めします。 しかし、Djangoは私のAJAX投稿をまだ拒否しています。 これが私のJavaScriptです。 $.post("/memorize/", data, function (result) { if (result != "failure") { get_random_card(); } else { alert("Failed to save card data."); } }); Djangoからのエラーは次のとおりです。 [23 / Feb / 2011 22:08:29] "POST / memorize / HTTP / 1.1" 403 2332 私は何かが欠けていると確信しています、そしておそらくそれは単純ですが、それが何であるかわかりません。私はSOの周りを検索して、csrf_exemptデコレータを介して私のビューのCSRFチェックをオフにすることに関するいくつかの情報を見ましたが、それは魅力的ではありません。私はそれを試してみましたが機能しますが、可能であれば、Djangoがそれを期待するように設計された方法でPOSTを機能させたいと思います。 参考までに、私の見解の要点を以下に示します。 def myview(request): profile = …
180 python  ajax  django  csrf 

14
DjangoのORMを使用してランダムなレコードをプルする方法は?
私のサイトに掲載している絵画を表すモデルがあります。メインのWebページで、いくつか紹介します。最新の、最も頻繁にアクセスされなかったもの、最も人気のあるもの、ランダムなものです。 私はDjango 1.0.2を使用しています。 最初の3つはdjangoモデルを使用して簡単にプルできますが、最後の1つ(ランダム)は私に問題を引き起こします。私の見解では、次のようにコードを記述することができます。 number_of_records = models.Painting.objects.count() random_index = int(random.random()*number_of_records)+1 random_paint = models.Painting.get(pk = random_index) それは私が自分の考えに持ちたいもののようには見えません-これは完全にデータベース抽象化の一部であり、モデルにあるべきです。また、ここでは、削除されたレコード(すべてのレコードの数では考えられるすべてのキー値がカバーされない)と、おそらく他の多くのことを処理する必要があります。 他のオプションでどのようにしてそれを行うことができますか?

8
外の世界からローカルのDjangoウェブサーバーにアクセスする方法
ここで説明する手順に従って、組み込みのWebサーバーを使用してDjangoを実行したところ、を使用してDjangoを正常に実行できましたpython manage.py runserver。Webサーバーからローカルに127.0.0.1:portにアクセスすると、Djangoページが表示され、機能していることがわかります。 Djangoウェブサーバーは本番サーバーではないことに気づきましたが、私にとってはテスト目的で外部から、つまりサーバー上のWebブラウザーからではなく、別のコンピューターからアクセスできることが重要です。 私は試した: http://mywebserver:port_django_runs_on しかし、それはうまくいきませんでした。代わりに(ifconfigに基づいて)IPを使用してアクセスしてみました: http://myipaddress:port_django_runs_on どちらも機能しませんでした。 Webサーバーが実行されているので、外部からアクセスできる必要があります。方法はわかりません。ApacheでDjangoを設定していませんが、ApacheでLinuxを実行しています。 これを行う方法に関するアイデアはありますか?
176 python  django 

7
DjangoがONCEのみを起動したときにコードを実行しますか?
起動時に1回だけ実行して、他の任意のコードを初期化したいDjango Middlewareクラスを書いています。ここでは、sdolanが投稿した非常に優れた解決策に従っていますが、「Hello」メッセージが端末に2回出力されます。例えば from django.core.exceptions import MiddlewareNotUsed from django.conf import settings class StartupMiddleware(object): def __init__(self): print "Hello world" raise MiddlewareNotUsed('Startup complete') そして、Django設定ファイルで、クラスをMIDDLEWARE_CLASSESリストに含めました。 しかし、runserverを使用してDjangoを実行し、ページを要求すると、ターミナルに入ります Django version 1.3, using settings 'config.server' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Hello world [22/Jul/2011 15:54:36] "GET / HTTP/1.1" 200 698 Hello world …
176 python  django 

6
djangoサイトでサーバーエラーをログに記録する方法
そのため、開発を試すときは、に設定settings.DEBUGするだけTrueでよく、エラーが発生した場合は、適切にフォーマットされ、スタックトレースとリクエスト情報が適切に表示されます。 しかし、本番サイトでは、使用してDEBUG=False、訪問者にいくつかの標準エラー500ページを表示し、現在このバグの修正に取り組んでいるという情報を示したいと思います。 同時に、すべてをログに記録する方法が欲しいです。これらの情報(スタックトレースとリクエスト情報)をサーバー上のファイルに出力します。これをコンソールに出力して、エラーのスクロールを監視したり、ログを1時間ごとにメールで送信したりすることができます。 これらの単純な要件を満たす、django-siteにはどのロギングソリューションをお勧めしますか?私はアプリケーションをfcgiサーバーとして実行しており、apache Webサーバーをフロントエンドとして使用しています(ただし、lighttpdへの移行を考えています)。

9
Django:ログイン後に前のページにリダイレクトする
私は、SOのログイン機能と非常によく似たログイン機能を備えたシンプルなWebサイトを構築しようとしています。ユーザーは匿名ユーザーとしてサイトを閲覧でき、すべてのページにログインリンクがあります。ログインリンクをクリックすると、ユーザーはログインフォームに移動します。ログインが成功すると、ユーザーは最初にログインリンクをクリックしたページに戻ります。どういうわけか、現在のページのURLをログインフォームを処理するビューに渡す必要があると思いますが、実際には機能しません。 編集:私はそれを理解しました。現在のページをGETパラメータとして渡してログインフォームにリンクし、次に「次へ」を使用してそのページにリダイレクトしました。ありがとう! 編集2:私の説明は明確ではないようだったので、ここにリクエストされたのは私のコードです:foo.htmlのページにいて、ログインしていないとしましょう。今、foo.htmlにリンクしたいのですがlogin.htmlに。そこでログインすると、foo.htmlにリダイレクトされます。foo.htmlのリンクは次のようになります。 <a href='/login/?next={{ request.path }}'>Login</a> ここで、次のようなカスタムログインビューを作成しました。 def login_view(request): redirect_to = request.REQUEST.get('next', '') if request.method=='POST': #create login form... if valid login credentials have been entered: return HttpResponseRedirect(redirect_to) #... return render_to_response('login.html', locals()) そして、login.htmlの重要な行: <form method="post" action="./?next={{ redirect_to }}"> ええ、それはほとんどそれです、それが明確になることを願っています。
175 python  django 

1
Djangoクエリセットで以下のフィルターを実行するにはどうすればよいですか?
プロファイルと呼ばれる各ユーザープロファイルのカスタムフィールドでユーザーをフィルターしようとしています。このフィールドはレベルと呼ばれ、0〜3の整数です。 等しいを使用してフィルタリングすると、選択したレベルのユーザーのリストが期待どおりに表示されます。 user_list = User.objects.filter(userprofile__level = 0) 以下を使用してフィルタリングしようとすると: user_list = User.objects.filter(userprofile__level < 3) エラーが発生します: グローバル名「userprofile__level」が定義されていません <または>でフィルタリングする方法はありますか、それとも間違ったツリーを呼び出していますか?

6
Django:なぜいくつかのモデルフィールドが互いに衝突するのですか?
ユーザーへの2つのリンクを含むオブジェクトを作成します。例えば: class GameClaim(models.Model): target = models.ForeignKey(User) claimer = models.ForeignKey(User) isAccepted = models.BooleanField() サーバーを実行すると、次のエラーが発生します。 フィールド 'target'のアクセサーは、関連フィールド 'User.gameclaim_set'と競合します。「ターゲット」の定義にrelated_name引数を追加します。 フィールド 'claimer'のアクセサーは、関連フィールド 'User.gameclaim_set'と競合します。「クレーマー」の定義にrelated_name引数を追加します。 エラーが発生する理由と修正方法を教えてください。

5
カスタムDjango manage.pyコマンドをテストドライバーから直接呼び出すにはどうすればよいですか?
データベーステーブルでバックエンド操作を行うDjango manage.pyコマンドの単体テストを記述したいと思います。コードから管理コマンドを直接呼び出すにはどうすればよいですか? manage.py testを使用して設定されたテスト環境(テストデータベース、テスト用ダミーメールアウトボックスなど)を使用できないため、tests.pyからオペレーティングシステムのシェルでコマンドを実行したくありません。

7
django MultiValueDictKeyErrorエラー、どう対処するか
オブジェクトをデータベースに保存しようとしていますが、MultiValueDictKeyErrorエラーが発生します。 問題はフォーム内にありis_private、チェックボックスで表されます。チェックボックスが選択されていない場合、明らかに何も渡されません。ここでエラーが発生します。 この例外を適切に処理してキャッチするにはどうすればよいですか? ラインは is_private = request.POST['is_private']
174 python  django  exception 

6
Djangoプロジェクトの作業ディレクトリ構造のベストプラクティス
私は実際には単一の正しい方法がないことを知っています。しかし、うまく機能し、すべての開発者と管理者にとってクリーンな状態を維持するディレクトリ構造を作成するのは難しいことがわかりました。github上のほとんどのプロジェクトにはいくつかの標準的な構造があります。しかし、PC上の別のファイルとすべてのプロジェクトを整理する方法は示していません。 開発マシンでこれらすべてのディレクトリを整理する最も便利な方法は何ですか?それらにどのように名前を付け、どのように接続してサーバーに展開しますか? プロジェクト(作業中のすべてのプロジェクト) ソースファイル(アプリケーション自体) リポジトリの作業用コピー(私はgitを使用しています) 仮想環境(プロジェクトの近くに配置することをお勧めします) 静的ルート(コンパイルされた静的ファイル用) メディアルート(アップロードされたメディアファイル用) README ライセンス 書類 スケッチ 例(このプロジェクトが提供するアプリケーションを使用するサンプルプロジェクト) データベース(sqliteが使用されている場合) プロジェクトで成功するために通常必要なその他のこと 私が解決したい問題: 目的が明確になるようにディレクトリの適切な名前。 すべてのプロジェクトファイル(virtualenvを含む)を1か所に保持することで、プロジェクト全体を簡単にコピー、移動、アーカイブ、削除したり、ディスク領域の使用量を推定したりできます。 アプリケーション全体、リポジトリ、virtualenvなど、選択したいくつかのファイルセットの複数のコピーを作成し、クローンしたくない別のファイルの単一のコピーを保持する。 選択した1つのディレクトリをrsyncするだけで、適切なファイルセットをサーバーに展開できます。

14
DjangoでDateTimeFieldの日付をフィルタリングするにはどうすればよいですか?
DateTimeField日付との比較をフィルタリングしようとしています。というのは: MyObject.objects.filter(datetime_attr=datetime.date(2009,8,22)) 私は時間を考慮していない(と思う)ため、空のクエリセットリストを回答として取得しますが、「いつでも」欲しいのです。 これを行う簡単な方法はDjangoにありますか? 設定された日時に時刻がありますが、そうではありません00:00。

13
djangoモデルのカスタムsave()メソッドでは、新しいオブジェクトをどのように識別する必要がありますか?
新しいレコードを保存する(既存のレコードを更新しない)ときに、Djangoモデルオブジェクトのsave()メソッドで特別なアクションをトリガーしたい。 (self.id!= None)のチェックは、セルフレコードが新しく、更新されていないことを保証するために必要かつ十分ですか?これが見落とす可能性のある特別な場合はありますか?

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