カテゴリ: Django

Django
2025-03-13 09:25 (14 months ago)
Django を 5.1 にアップグレードしたら、管理サイトの Inline で、プライマリーキーが表示される場所に `{'name': 'id', 'label': 'ID', 'help_text': '', 'field': 'id', 'is_hidden': True}` のような文字列が表示される場合の対応

Django 5 の Admin Inline で、特定の `ModelForm` フィールドを `hidden` にしつつ、初期値を dict で渡す書き方。`formfield_overrides` と `get_initial` を組み合わせるパターン。

Django
2024-12-14 04:46 (17 months ago)
django-allauth で、ソーシャルアカウントプロバイダーを決め打ちしてログインビュー・リダイレクトビューを返す (AWS Cognitoを使う時など)

django-allauth を使っており、バックエンドのソーシャルアカウントを URL で指定しないログインビューを作る方法。

Django
2024-04-15 08:35 (2 years ago)
Django5にして依存ライブラリも更新したら、メール送信で SSL: CERTIFICATE_VERIFY_FAILED エラーが出るようになった

Django を 5.0 にアップデートし、他のライブラリも更新した所、下記のメール送信のコードを実行した所、ssl.SSLCertVerificationError が出た。

DjangoPython
2024-03-28 00:41 (2 years ago)
Django の ユニットテストの assertEqual の引数の first, second は実際は expected, actual

Django のユニットテストの assertEqual メソッドを見てみると、第一引数は first, 第二引数が second と命名されており、それぞれの変数に用途の違いは無いように見える。

DjangoPython
2024-03-24 04:53 (2 years ago)
pipenv install で AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'? が出た → まずは pipenv の python バージョンを確認

Python3.12 環境を構築するため、Pipenv で仮想環境を新しく構築している際、`pipenv install` をした時に AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'? エラーが出る場合の確認事項と対応方法

DjangoPython
2023-11-09 03:39 (2 years ago)
Python の MySQLdb を使う時に symbol not found in flat namespace '_mysql_affected_rows'  が出た場合の対応

Python の MySQLdb を import すると `symbol not found in flat namespace '_mysql_affected_rows'` が出る問題と対処法。

Django
2023-10-12 12:41 (2 years ago)
Django のログインユーザーを django shell を使って切り替える

Django シェルを使って、既に確立しているセッションのユーザーを他のユーザーに変更する方法です。 本番環境で行うと危険なので行わないでください。

Django
2022-12-27 10:15 (3 years ago)
django で redis の中身をターミナルで直接見る

Django redis の中身を Django シェルから直接見る方法です。

Django
2022-11-18 10:16 (3 years ago)
Django 設定から DB設定を読み取って、mysqldump で 本番→検証にデータコピーをする

いつもは bash で書くデータコピーのスクリプトを Python で書いてみたので残しておきます。

Django
2022-11-02 12:34 (3 years ago)
Django の URL 数を表示するコード

IT監査の際、アプリケーションの規模を表す必要があったので、Django の総 URL 数を表示することでアプリケーションの規模とみなすことにした。

Django
2022-10-17 11:24 (3 years ago)
Django AllAuth のパスワードリセット用のURL を手動で作る

Mac で Big Sur 以前にあった `find` をクリップボードに送る Service (Quick Action) を作る手順。pbcopy と組み合わせる。

Django
2022-09-16 10:11 (3 years ago)
Django のアップデート後、 oauth2_provider の マイグレーションに失敗する場合

Mac で `mkdir -p` した直後の `cd` がディレクトリ作成のタイムラグで失敗するときに `mkdir -p ... && cd $_` で確実につなぐ書き方。

Django
2022-09-12 12:21 (3 years ago)
Djangoでログをコンソールに出すロガーの設定

Djangoのログ設定。ファイルに出力せず、コンソールに出力する。

DjangoMySQL
2022-09-11 09:58 (3 years ago)
MySQL で 2027 Malformed packet エラーが出る場合の解決ヒント

Django Allauth で、SocialAccount を指定せずにログイン後のリダイレクト先を共通設定で返すビュー実装。`LOGIN_REDIRECT_URL` の挙動と上書き方法。

DjangoDockerPython
2022-09-03 11:03 (3 years ago)
Django の Docker 環境を Alpine + uWSGI から Debian + Daphne に変えた → やっぱり uvicorn

Django の Docker イメージを Alpine + uWSGI 構成から Debian + Daphne (ASGI) 構成に切り替える理由と、Dockerfile / Kubernetes マニフェストの書き換え例。

Django
2022-08-06 02:09 (3 years ago)
Django Mezzanine の TinyMCE で未修正内容がある時にページを移動しようとするとき警告を出す

tinyMCE のバージョンが 4 の場合、tinyMCE.init の setup オプションで、onChange イベントを追加できます。

Django
2022-03-21 08:57 (4 years ago)
Django のユニットテストで Request を作るには、response の wsgi_request を取得するのが楽

Django のユニットテストを作っていいて、 Request (WSGIRequest) が欲しくなる場合がある。

Django
2021-12-11 13:51 (4 years ago)
Django で cannot import name 'ugettext_lazy' が出たら Django4.0 がインストールされてるかも

Djangoで manage.py hoge を実行したりした時に ImportError: cannot import name 'ugettext_lazy' from 'django.utils.translation' が出る場合の解決方法

DjangoMySQL
2021-11-14 11:10 (4 years ago)
Django で 2013, 'Lost connection to MySQL server during query' が出たので NO_ENGINE_SUBSTITUTION を無くした

Django で MySQL 接続する設定の `ENGINE` に `django.db.backends.mysql` を指定しても 'No DB engine substitution' で動かないときの原因と対処。

Django
2021-01-26 08:21 (5 years ago)
Django Admin の Inlines に独自HTMLを追加したい

Django Admin の Inline formset (TabularInline / StackedInline) に独自の HTML スニペットや説明文を差し込みたいときの実装パターン。

Django
2021-01-20 11:10 (5 years ago)
Django の Admin サイトを別でもう一つ作る

Django の Admin を、/admin/ を残したまま別 URL を作りたい場合。 from django.contrib.admin import AdminSite site = AdminSite(name='staff') で作る。

DjangoMySQL
2020-11-08 10:53 (5 years ago)
mysql django.db.utils.InterfaceError: (0, '')

django.db.utils.InterfaceError: "(0, '')" が出る場合 テーブルやレコードによって、get時にこのエラーが出たり出なかったりする場合は、接続文字コードが合ってないかもしれない。

DjangoMySQLPython
2020-10-11 02:52 (5 years ago)
Python(Django) で NameError: name '_mysql' is not defined となる場合 (特にローカル開発中)

今まで動いていた Django プロジェクトを、久しぶりに起動すると version_info, _mysql.version_info, _mysql.__file__ NameError: name '_mysql' is not defined というエラーが出て起動しない場合。

Django
2020-09-13 06:57 (5 years ago)
docker alpine 上で django を起動した時に django.db.utils.OperationalError: (2000, 'Unknown MySQL error')

python3 ./manage.py runserver 8080 すると、django.db.utils.OperationalError: (2000, 'Unknown MySQL error') のエラーが出た。OPTIONS の  'charset': 'utf8mb4', があると、 (2000, 'Unknown MySQL error') が出る。

Django
2020-05-19 06:34 (6 years ago)
Django Rest Framework の Viewset を手動で動かして、シリアライズ済みデータを取得する

APIView の Python コードの紹介。

Django
2020-05-18 02:16 (6 years ago)
MySQL の AutoIncrement が足りなくなった場合の対応

MySQLdb._exceptions.OperationalError: (1467, 'Failed to read auto-increment value from storage engine') Django で、暗黙の id を指定していると、auto increment 値が上限値に達したとき上記のエラーが出る。

Django
2019-12-25 06:14 (6 years ago)
Django3にしたら from_db_value() missing 1 required positional argument: 'context' が出る

Django 3 にアップグレード後にカスタムフィールドで `from_db_value() missing 1 required positional argument: 'context'` が出る場合の対処。`context` 引数廃止への対応。

Django
2019-06-22 13:07 (6 years ago)
Alpine linux で Django の DecimalField の quantize に失敗した場合

PyCharm / JetBrains 製エディタで、プロジェクトビューのフォルダ内ファイルがシングルクリックで開かないように設定する方法。

Django
2019-03-25 23:57 (7 years ago)
freezegun を Django のテストで使う時、USE_TZ=True 環境下で1日後 にする方法

freezegun を Django テストで使うとき、`USE_TZ=True` の環境下で「1日後」「N時間後」のような相対時間を正しく扱う書き方。

DjangoPHP
2019-03-14 15:19 (7 years ago)
Vue.js webpack dev server の Proxy で Django + Python social auth のソーシャルプロバイダ認証をする場合

Vue で開発する際、webpack dev server を起動していて、API バックエンドに Django を使っていて、Django の認証に Python social auth + 外部 Auth プロバイダを使っているケース。

Django
2018-09-27 02:37 (7 years ago)
Django テストで マイグレーションをキャンセルした時 table already exists で止まらないようにする

Django のテスト実行中に `--keepdb` を使っていて、テスト DB に `table already exists` で失敗するときの回避策。マイグレーション状態を強制的にリセットする手順。

Django
2018-09-25 10:10 (7 years ago)
Django で Abstract なモデルのユニットテスト

Django: Best way to unit-test an abstract model - Stack Overflowhttps://stackoverflow.com/questions/4281670/django-best-way-to-unit-test-an-abstract-model

Django
2018-07-12 11:24 (7 years ago)
Python Social Auth Django とか AllAuth でリダイレクト先のURL が HTTPS でなく HTTP で困った

Ubuntu / Debian で `apt list --upgradable` の数だけを取得する 1-liner と、シェルスクリプトで `MOTD` (login banner) に出す書き方。

Django
2018-05-15 03:24 (8 years ago)
Django2.0 DB間にまたがった ForeignKey を作る

※ RDBの制約を作るという意味ではないです。とりあえず動く ForeignKey フィールドを作るという意味です。

Django
2018-03-29 06:37 (8 years ago)
Django で ./manage.py test 時に NameError: name 'module1' is not defined が出る

Apache + ELB 配下の Django で、`request.build_absolute_uri()` が HTTP を返してしまうのを HTTPS にする `USE_X_FORWARDED_HOST` / `SECURE_PROXY_SSL_HEADER` 設定。

Django
2018-02-05 08:02 (8 years ago)
Django managed = False なモデルをユニットテストするには

Django で、モデルの Meta: managed = False にすると、他の App からのユニットテストの時、create() などしようとすると、ProgrammingError が出ることがあります。その対応メモ。

Django
2018-01-11 05:48 (8 years ago)
Django1.6->2.0にアップデートしたらマイグレーション時に django.db.utils.InternalError: (1364, "Field 'name' doesn't have a default value")

Python2.7 + Django 1.6 のプロジェクトを、Python3.5 + Django2.0 にしてマイグレーションファイルを作り直し、./manage.py migrate したら

DjangoLinux
2017-09-11 08:35 (8 years ago)
Python selenium ChromeDriver がエラー127 で起動しない場合、libgconf2 をインストール

Ubuntu 14.04 で Selenium ChromeDriver が status 127 で起動しない原因は `libgconf-2.so.4` の不在。`sudo apt install libgconf2-4` で解決する。

DjangoPython
2017-09-01 02:10 (8 years ago)
Django Social Auth で AuthAlreadyAssociated が出る場合

いつも焦るので書いておく

Django
2017-05-09 08:49 (9 years ago)
Django SJISのCSVをダウンロードさせるビュー基底クラス

Django SJISのCSVをダウンロードさせるビュー基底クラス

Django
2017-02-26 10:25 (9 years ago)
Django Admin カスタムフィルタを作成

SimpleListFilter を使って簡単に書ける

Django
2017-01-26 04:11 (9 years ago)
Django で、datetime で MySQL 検索する時にタイムゾーンがずれてうまく検索できないミス

けっこう何回もミスってしまうのでメモ。

DjangoLinux
2016-09-16 03:24 (9 years ago)
Django CSRFトークン認証に失敗する ELB -> Apache2 -> uwsgi

AWS ELB → Apache2 → uwsgi 構成の Django で CSRF トークン認証に失敗する問題と解決策。mod_wsgi から uwsgi に切り替えた際の HTTP/HTTPS スキーム判定の罠。

DjangoPython
2016-06-20 08:35 (9 years ago)
Django で Shift-JIS の CSV を出力

Python 3 + Django で Shift-JIS (CP932) の CSV をダウンロードレスポンスとして返す方法。StringIO に Unicode で書いてから cp932 で一括変換する実装パターン。

Django
2015-12-22 09:57 (10 years ago)
Django RedirectView を URLs でインラインで使って、URLパスを保持したままリダイレクトする

/url-path-before/feature/hoge/ にアクセスした人を、 /url-path-after/feature/hoge/ にリダイレクトしたい。

Django
2015-11-27 00:40 (10 years ago)
Django マネジメントコマンドの重複起動防止デコレータ

Twitter Developer API のアカウントが BAN / Suspended された時に Twitter サポートへ送るアピールの書き方と、再申請のポイント。

Django
2015-10-29 08:35 (10 years ago)
Django TemplateView を、@cached_property を多用して書いてみる

Vagrant で立てた仮想マシンと RubyMine を組み合わせて Rails 開発するときの remote interpreter / SSH 設定例。

Django
2015-10-15 10:10 (10 years ago)
複雑なクエリで検索した Django モデルインスタンスを Paginator でページングする

Django で複雑なクエリ (raw SQL や Q オブジェクトの組み合わせ) で取得したモデルインスタンスを Paginator でページングする実装パターン。

Django
2015-09-03 11:48 (10 years ago)
Django 1.7 で、マイグレーションファイルでフルテキストインデックスを作成する

Django 1.7 以上の DB マイグレーション機能で、MySQL のフルテキストインデックスを作らせる方法です。

Django
2015-07-07 05:38 (10 years ago)
Djangoのテンプレートビュー (TemplateView)で文字列置換する方法

Djangoのテンプレートビュー ( TemplateViewクラス) を使って、HTMLテンプレートをそのまま出力したいけど、 その出力結果の文字列を一括置換したい方法2案です。

Django
2015-05-29 11:31 (11 years ago)
Djangoで、簡易的なログインのURLを作る

url(r'^login/', 'django.contrib.auth.views.login', name='login', kwargs={'template_name': 'admin/login.html', 'extra_context': {'next': '/'}}), このリンクをこのようにテンプレートに書き、

Django
2015-05-10 07:19 (11 years ago)
Mezzanine で、reStructured text を使う

Python + Django 上で CMS を構築する、 Mezzanine というシステムがあります。 ブログエントリは標準形式では WYSIWYG な HTML エディタで書きますが、 reStructured Text (reST, rst) で書きたかったため調べてみました。

Django
2013-09-21 04:04 (12 years ago)
Django adminのフォームのテンプレートに、独自HTMLを追加する

1. モジュールの admin.py に、change_form_template を定義 独自テンプレートの場所を指定する

Django
2011-09-10 11:32 (14 years ago)
recreate-migration マイグレーションを再作成するBASH関数

マイグレーションを戻して、マイグレーションスクリプトを全削除した後に schemamigrations しなおす。

Django
2011-09-10 11:20 (14 years ago)
時間分岐のテンプレートタグ ifbefore ifafter ifafterbefore

# -*- coding: utf-8 -*-

Django
2011-06-21 06:24 (14 years ago)
lorem_ipsum でダミー文章を作成する

lorem テンプレートタグなんかで使われる、 django.contrib.webdesign.lorem_ipsum パッケージを利用して、記事のダミーデータを作成できる。

Django
2011-06-20 17:14 (14 years ago)
Django admin は、GETで渡ってきたパラメータをフォームフィールドのデフォルト値にする

Django admin の、新規レコードの追加ページに

Django
2011-06-17 07:09 (14 years ago)
モデルのリレーションを可視化するマネジメントコマンド

# -*- coding: utf-8 -*-

Django
2011-06-17 01:10 (14 years ago)
Django Admin 管理画面から、削除ボタンを消す

リストのチェックボックスからの削除を無効化する common/admins.py とか作って

アーカイブ