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

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

3
Django-ネストされたフォームセットでフォームを保存しないCreateView
Django-Crispy-Formsレイアウト機能を使用して、ネストされたフォームセットをメインフォームに保存する方法を採用しようとしていますが、保存できません。このコード例のプロジェクトに従っていますが、フォームセットを検証してデータを保存できませんでした。誰かが私の間違いを指摘していただければ本当にありがたいです。また、EmployeeFormの同じビューに3つのインラインを追加する必要があります。Django-Extra-Viewsを試しましたが、うまくいきませんでした。約5のように、同じビューに複数のインラインを追加することをアドバイスしていただければ幸いです。作成する1つのページEmployeeとそのようなインラインを実現したいだけですEducation, Experience, Others。以下はコードです: モデル: class Employee(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employees', null=True, blank=True) about = models.TextField() street = models.CharField(max_length=200) city = models.CharField(max_length=200) country = models.CharField(max_length=200) cell_phone = models.PositiveIntegerField() landline = models.PositiveIntegerField() def __str__(self): return '{} {}'.format(self.id, self.user) def get_absolute_url(self): return reverse('bars:create', kwargs={'pk':self.pk}) class Education(models.Model): employee = models.ForeignKey('Employee', on_delete=models.CASCADE, related_name='education') course_title …

3
2つのフィールドに一意のIDを作成する方法はありますか?
これが私のモデルです: class GroupedModels(models.Model): other_model_one = models.ForeignKey('app.other_model') other_model_two = models.ForeignKey('app.other_model') 基本的に、私が欲しいのはother_model、このテーブルで一意であることです。レコードがある場合ことを意味other_model_oneidがあるが123、私は別のレコードを使用して作成できるようにするべきではないother_model_twoとして、ID 123。オーバーライドはできるcleanと思いますが、djangoに何かが組み込まれているのではないかと思っていました。 PSQLでバージョン2.2.5を使用しています。 編集:これは、一緒に不平等な状況ではありません。私はレコードを追加した場合other_model_one_id=1、その他other_model_two_id=2、私は別のレコードを追加できないようにする必要がありother_model_one_id=2、その他other_model_two_id=1

2
Django:manage.pyの実行は常に中止されます
ローカルにセットアップしようとしている既存のDjangoアプリケーションがあります。仮想環境を作成し、必要なすべての依存関係をインストールした後、実行manage.pyを中止すると、他の有用なエラーメッセージは表示されません。 (venv) $ python manage.py [1] 39973 abort python manage.py 提供されたサブコマンドもすべて中止されるだけで、私は運が悪いときにデバッグする方法を見つけようとしました。 使用するバージョン: python 3.6.8 Django 2.0.2 編集: ようやく問題がわかりました。macOS 10.15(Catalina)を使用している場合、これが役立ちます。 依存関係の1つにcryptographyopensslが必要です。あなたはbrew経由でopensslをインストールし、次にシンボリックリンクを以下に追加できます: cd /usr/local/lib ln -s /usr/local/Cellar/openssl/1.0.2t/lib/libcrypto.1.0.0.dylib libcrypto.dylib ln -s /usr/local/Cellar/openssl/1.0.2t/lib/libssl.1.0.0.dylib libssl.dylib
12 python  django 

5
Python2からPython3へのコード変換の場合、PythonとDjangoのどのバージョンが最適ですか?
現在私は大企業で働いており、python2の古い大きなDjangoプロジェクトをpython3バージョンに変換する必要があるため、関連する多くの調査を行いましたが、変換に最適なPythonとDjangoのバージョンに関連する完全な答えはまだ見つかりません。 現在、旧バージョンではPython:2.7.16とDjango:1.9.13を使用しています。 誰でも私の古いバージョンのpython2からpython3への変換に最適なバージョンのPythonとDjangoを私に提案できます。

1
1つのテーブル「django_migrations」のみを使用して、Djangoで複数のデータベースを使用します
Djangoのプロジェクトでは、デフォルトとリモートの 2つのデータベースを使用する必要があります。私が作成しrouters.py、すべてが正常に動作します。 リモートデータベースにテーブルを作成する必要があり、移行を作成して実行し、テーブルdjango_migrationsを作成しました。django_migrationsデフォルトのデータベースに、テーブルを1つだけ含めたいです。 の関連部分routers.pyはここにあります: class MyRouter(object): # ... def allow_migrate(self, db, app_label, model_name=None, **hints): if app_label == 'my_app': return db == 'remote' return None 私はこのように移行を実行します: python manage.py migrate my_app --database=remote 今私がするとき: python manage.py runserver 次の警告が表示されます。 未適用の移行が1つあります。アプリの移行を適用するまで、プロジェクトは正常に機能しない可能性があります:my_app。 それらを適用するには、「python manage.py migrate」を実行します。 のテーブルmy_appがremoteデータベースに作成され、データベースdjango_migrations内でremote移行が適用済みとしてマークされます。 編集: Djangoに強制的に1つのテーブルのみを使用django_migrationsさせ、それでも移行を別のデータベースに適用する方法は? 警告が発生しないように移行を異なるデータベースに適用する方法は?

1
create()をオーバーライドする代わりに、Django models.Managerでcreate_foo()を定義するのはなぜですか?
Djangoのドキュメントを読んで、マネージャのFooようcreate_fooに定義することによって名前が付けられたモデルのカスタム作成メソッドを作成することをお勧めします。 class BookManager(models.Manager): def create_book(self, title): book = self.create(title=title) # do something with the book return book class Book(models.Model): title = models.CharField(max_length=100) objects = BookManager() book = Book.objects.create_book("Pride and Prejudice") 私の質問は、前のcreate方が基本クラスのメソッドを単にオーバーライドするよりも好ましい理由です: class BookManager(models.Manager): def create(self, title): book = self.model(title=title) # do something with the book book.save() return book class Book(models.Model): …

5
django.db.utils.InterfaceError:Django 3.0への更新時に接続がすでに失敗しました
中規模のプロジェクトをDjango 3.0に更新していますが、Djangoのバージョンを2.3から変更する以外に何もしないと、テストでいくつかのエラーが発生します。 テストスイート全体が何年もの間正しく実行されており、この問題の原因を示す可能性のある変更ログ内の関連する変更を見つけることができませんでした。どうやら、1つのテストが失敗すると、同じTestCaseクラスの残りのすべてのテストが失敗し、次の例外が発生します。 Traceback (most recent call last): File "/Users/federicobond/code/forks/core/env/lib/python3.7/site-packages/django/db/backends/base/base.py", line 238, in _cursor return self._prepare_cursor(self.create_cursor(name)) File "/Users/federicobond/code/forks/core/env/lib/python3.7/site-packages/django/utils/asyncio.py", line 24, in inner return func(*args, **kwargs) File "/Users/federicobond/code/forks/core/env/lib/python3.7/site-packages/django/db/backends/postgresql/base.py", line 231, in create_cursor cursor = self.connection.cursor() psycopg2.InterfaceError: connection already closed The above exception was the direct cause of the following exception: Traceback …

1
Djangoは(おそらく)将来的にタスクを実行します
モデルがあるとしましょうEvent。イベントの経過後、招待されたすべてのユーザーに通知(電子メール、プッシュなど)を送信したい。以下の線に沿った何か: class Event(models.Model): start = models.DateTimeField(...) end = models.DateTimeField(...) invited = models.ManyToManyField(model=User) def onEventElapsed(self): for user in self.invited: my_notification_backend.sendMessage(target=user, message="Event has elapsed") さて、もちろん、重要な部分はonEventElapsedいつでも呼び出すことtimezone.now() >= event.endです。end現在の日付から数か月先になる可能性があることに注意してください。 私はこれを行う2つの基本的な方法について考えました。 cron過去5分以内にイベントが経過したかどうかを確認してメソッドを実行する定期的なジョブ(たとえば、5分ごとなど)を使用します。 使用し、将来的に実行するパラメーターを使用celeryしてスケジュールonEventElapsedしetaます(モデルsaveメソッド内)。 オプション1を検討すると、考えられる解決策は次のようになりますdjango-celery-beat。ただし、通知を送信するために一定の間隔でタスクを実行するのは少し奇妙に思えます。さらに、(おそらく)それほど洗練されていない解決策となる(潜在的な)問題を思いつきました。 5分ごとに、直前の5分間に経過したイベントを確認しますか?不安定なようですが、いくつかのイベントが見落とされている可能性があります(または他のイベントで通知が2回送信されますか?)潜在的な回避策:True通知が送信されたときに設定されるブール型フィールドをモデルに追加します。 次に、オプション2にも問題があります。 イベント開始/終了日時が移動した場合は手動で対処してください。を使用する場合celery、taskID(easy、ofc)を保存し、日付が変更されたらタスクを取り消して、新しいタスクを発行する必要があります。しかし、私は、セロリに将来実行されるタスクを処理するときに(デザイン固有の)問題があることを読みました:githubのOpen Issue。これがどのように起こり、なぜそれが解決するのが簡単ではないのかがわかります。 今、私は潜在的に私の問題を解決できるいくつかのライブラリに出会いました: celery_longterm_scheduler(しかし、これは、Schederyクラスが異なるため、以前のようにセロリを使用できないことを意味しますか?これは、django-celery-beat... の可能な使用法にもつながります... 2つのフレームワークのいずれかを使用すると、ジョブをキューに入れることができます(実行時間は少し長くなりますが、数か月先ではありませんか?) django-apscheduler、を使用しapschedulerます。しかし、遠い将来に実行されるタスクを処理する方法についての情報は見つかりませんでした。 私がこれに取り組む方法に根本的な欠陥はありますか?あなたが持っているかもしれないどんな入力についても嬉しいです。 通知:これは何らかの意見に基づく可能性が高いことを知っていますが、醜いまたはエレガントなものと見なされるものに関係なく、見逃した非常に基本的なことがあるかもしれません。

1
Django REST Framework(DRF):TypeError:register()が予期しないキーワード引数 'base_name'を取得しました
djangorestframework==3.11.0古いバージョンからに更新しました。今、私はこのエラーを持っています、 TypeError:register()が予期しないキーワード引数 'base_name'を取得しました Traceback ... ... ... File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/abu/projects/django-example/django2x/urls.py", line 21, in <module> path('sample/', include('sample.urls')), File "/home/abu/.virtualenvs/django-example/lib/python3.6/site-packages/django/urls/conf.py", line 34, in include urlconf_module = import_module(urlconf_module) File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen …

5
2つのオプションで1つの必須の外部キーを持つモデルの作成
私の問題は、2つの外部キーのいずれかを使用して、どのようなモデルであるかを示すことができるモデルがあることです。両方ではなく、少なくとも1つは取得したい。これを1つのモデルのままにすることはできますか、それとも2つのタイプに分割する必要がありますか?これがコードです: class Inspection(models.Model): InspectionID = models.AutoField(primary_key=True, unique=True) GroupID = models.ForeignKey('PartGroup', on_delete=models.CASCADE, null=True, unique=True) SiteID = models.ForeignKey('Site', on_delete=models.CASCADE, null=True, unique=True) @classmethod def create(cls, groupid, siteid): inspection = cls(GroupID = groupid, SiteID = siteid) return inspection def __str__(self): return str(self.InspectionID) class InspectionReport(models.Model): ReportID = models.AutoField(primary_key=True, unique=True) InspectionID = models.ForeignKey('Inspection', on_delete=models.CASCADE, null=True) Date …

8
Djangoサーバーは、管理ページにログインした直後に停止します
ログインボタンをクリックした直後にdjango管理ページにログインしようとすると、djangoサーバーが停止します venvを使用して仮想環境でプロジェクトを作成しようとするDjangoの新機能。これらは私がした次のステップです。 1. apiという名前のフォルダーを作成しました 2.仮想環境を作成して python -m venv vapi 3. djangoをインストールし、初期移行を実行してからスーパーユーザーを作成しました pip install django django-admin startproject library . python manage.py migrate python manage.py createsuperuser 今django管理ページにログインしようとしました 私はsetting.pyファイルで何も変更していません デフォルトのsqllite dbを使用 時間:2019-02-27 21:16:53.0ラベル:python django-admin 3.0
9 python  django 

1
ページの読み込み時に依存するドロップダウンを「読み込む」方法は?
依存するドロップダウンのあるフォームがあります。このセカンダリドロップダウンは、選択されたプライマリオプションにセカンダリオプションがない場合、およびページが最初に読み込まれたときに非表示になります。フォームが送信されると、最初のフィールドのみがクリアされます。これは、ほとんどの場合ドロップダウンが同じであるためです。ただし、スクリプトはプライマリドロップダウンに変更があった場合は常に機能します。変更を構成するのではなく、選択/送信されたオプションをプライマリドロップダウンに保持し、選択されたプライマリオプションにセカンダリオプションがある場合でも、空のセカンダリドロップダウンを表示します。私はJSのほとんどを、チュートリアルのドロップダウンからよく知りません。より視覚的に理解するために: これは、ページが最初にロードされたときのフォームです セカンダリオプションがあるオプションを選択すると、もう1つのドロップダウンが表示されます ステーションを選択して送信すると、従業員番号はクリアされますが、他の2つは残っているはずですが、送信時にページがリロードされると、次のようになり、ステーションがないため、ステーションはステーションによってクリアされました技術的に。駅の整理についてはあまり気にしていませんが、空にしてはいけない空のドロップダウンがないことのほうが重要です。 フォームに残ったデータを見ると、ドロップダウンから別のオプションを選択するまで依存ドロップダウンが読み込まれず、ボックスアセンブリオプションを再び表示できるようにしたい場合は、作業領域のみが残りました。 、別のオプションをクリックしてから、(たとえば)ボックスアセンブリに戻る必要があります。 この問題を解決するにはどうすればよいですか?残されたオプションがトリガーされているかどうかに関係なく、セカンダリオプションがあるかどうかをチェックするように、JavaScriptが最初にロードするように強制する方法はありますか? forms.py class WarehouseForm(AppsModelForm): class Meta: model = EmployeeWorkAreaLog widgets = { 'employee_number': ForeignKeyRawIdWidget(EmployeeWorkAreaLog._meta.get_field('employee_number').remote_field, site, attrs={'id':'employee_number_field'}), } fields = ('employee_number', 'work_area', 'station_number') def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields['station_number'].queryset = Station.objects.none() if 'work_area' in self.data: try: work_area_id = int(self.data.get('work_area')) self.fields['station_number'].queryset = Station.objects.filter(work_area_id=work_area_id).order_by('name') except (ValueError, …

1
Djangoの「アボート」問題を修正する方法
私はDjangoでプロジェクトをやっています。python 3.7.5とDjango 1.11をインストールしました。コマンドを実行しようとすると python manage.py migrate 私は得ています [1] abort python manage.py migrate 同じことが起こっています python manage.py runserver 私はこの問題を修正する方法について過去2日間ブレーンストーミングを行っていますが、運はありません。誰かがこの問題を解決するのを手伝ってくれますか?
9 python  django 

1
DjangoがSQL Serverに接続する-django / sql_server-pyodbc
インストールしようとしましたdjango_pyodbcが、移行しようとするとエラーが発生しました: django.core.exceptions.ImproperlyConfigured:Django 2.1はサポートされていません。 私のsetttings.py: 'Test_DB': { 'ENGINE': 'django_pyodbc', 'NAME': 'TEST', 'HOST': '127.0.0.1', 'USER': 'sa', 'PASSWORD': '123456', 'OPTIONS': { 'driver': 'ODBC Driver 12 for SQL Server', }, }, django-pyodbc-azureをインストールしようとすると、他のエラーが発生しました。 「django.db.backends.XXX」を使用してみてください。XXXは「mysql」、「oracle」、「postgresql」、「sqlite3」のいずれかです。 私のsetttings.py: 'Test_DB': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'TEST', 'HOST': '127.0.0.1', 'USER': 'sa', 'PASSWORD': '123456', 'OPTIONS': { 'driver': 'ODBC Driver 12 for SQL …

2
JavaScriptを介してPythonAnywhereのOpenCVでWebカメラにアクセスする方法
私はDjangoでWebアプリケーションを開発しました。これは、トリガーされるとユーザーWebカメラを開いて顔を検出するOpevCVコードを含むビューメソッドを備えています。このアプリは私のローカルサーバーで正常に動作しますが、PythonAnywhereでホストした場合、PAホスティングではカメラが機能しないため、カメラが見つからないと表示されます。そのため、クライアントマシンを処理するJavaScriptを介してWebカメラを開き、そのホスティングをホストしているサーバーマシンにフィードを渡すようにと誰かから提案されました。しかし、私はPythonの新人なので、上記のタスクを実行する方法を理解できません。私はこのjsコードを見つけましたが、これを私のDjangoアプリに追加する方法と場所がわかりません。 JavaScriptでフィードを取得するためのコード var video = document.querySelector("#videoElement"); if (navigator.mediaDevices.getUserMedia) { navigator.mediaDevices.getUserMedia({video: true}).then(function(stream) { video.srcObject = stream; }).catch(function(err0r) { console.log("Something went wrong!"); }); } カメラを開いて顔を検出するための私のPythonコードは次のとおりです(ローカルサーバーで動作します) import cv2 cascade = cv2.CascadeClassifier('./haarcascade_frontalface_default.xml') cam = cv2.VideoCapture(0) while True: ret, frame = cam.read() frame = cv2.flip(frame, 1) if ret: gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces = cascade.detectMultiScale(gray, …

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