Django
ウェブサービスの運営で、「特定のユーザーでログインして画面の動作を試す」ことをしたい場合、django-hijackというパッケージで簡単に実現できます。 試したバージョンは、Python 3.10, Django 3.2, django-hijack 3.1.2 です。 ドキュメント django-hijac…
Djangoではモデルクラスに primary_key=True のフィールドを明示的に定義しない場合、自動で id という名前で主キーのフィールドが追加されます。 Automatic primary key fields | Django documentation このとき使われるフィールドのクラスは、Django 3.1以…
@c_bata_ さんの著書、『実践Django Pythonによる本格Webアプリケーション開発』をいただいたので紹介します。 実践Django Pythonによる本格Webアプリケーション開発 (Programmer’s SELECTION)作者:芝田 将翔泳社Amazon 本書の内容 Djangoの基本機能、モデル…
Djangoフレームワークのセッションの有効期限について調べる必要があったのでまとめておく。 試したバージョンは、Python 3.9、Django 3.2.4。 ドキュメント Djangoのセッションについてのドキュメント https://docs.djangoproject.com/ja/3.2/topics/http/s…
Djangoフレームワークの管理コマンド(manage.py スクリプトのコマンド)をオーバーライド(上書き、置換え)する方法について。 管理コマンドの登録の仕組み Djangoのドキュメントには、管理コマンドのオーバーライドについての記載があります。 https://docs.d…
『現場で使えるDjango管理サイトのつくり方』 著者のakiyokoさんから献本いただきました。 Djangoの管理サイト(Django Admin)にフォーカスした内容の本です。 https://www.amazon.co.jp/dp/B08HVJPRR8/?tag=tokibitossoft-22www.amazon.co.jp 対象の読者 こ…
VPSなどの環境で、1つのVMインスタンスにたくさんDjangoアプリをホストしたいなー、という場合の構成を考えたりしてました。 自分で運用しやすい形にまとまったので、メモを残しておきます。 要件 1台のVMで複数種類のDjangoアプリを動かす VMのメモリは2~4…
Djangoに限ったことではないのですが、PythonのloggingでrootのハンドラをDEBUGにしていると、IPythonの補完を実行した際にparsoという依存ライブラリのログが出てしまい、カーソル位置がずれてしまうことあります。 例えば、Djangoで以下のように settings.…
6/1に札幌で開催された オープンソースカンファレンス2019 Hokkaido で、django-ja名義でDjangoフレームワークの紹介をしてきました。 資料はSpeakerDeckにアップロードしています。 Djangoフレームワークの紹介_OSC北海道2019 - Speaker Deck 日本のDjango…
DjangoのORMで、サブクエリを使う方法について。任意のSQLであればrawメソッドを使えばよいのですが、なるべくORMのAPIを使いたい。 DjangoのORMでは任意の位置にサブクエリを使えるわけではないですが、例えば「テーブル単位での問い合わせ結果にサブクエリ…
Djangoのマイグレーションは、1つのマイグレーションで複数のタスクを実行できます。 スキーマを変更する処理のあとに、データのマイグレーションを実行、といったようなものです。 意味のある変更をまとめるのは便利そうに思えるのですが、落とし穴があった…
AppEngineで動かしてるDjangoアプリをStackdriver Debuggerでデバッグする手順について。 Python 用 Stackdriver Debugger の設定 | Stackdriver Debugger のドキュメント | Google Cloud ドキュメントには、Django 1.Xの話しかなく、手順も良くなかったので…
PythonのloggingモジュールからStackdriverにログを流す手順はドキュメントに書かれている。 Setting Up Stackdriver Logging for Python | Stackdriver Logging | Google Cloud Djangoフレームワークを使っている場合は、Djangoのロギング設定を考慮する必…
Djangoフレームワークでは、データベースルータークラスを作成して、 settings.DATABASE_ROUTERS に設定することで、モデル毎に使用するデータベースを変えたりできます。 データベースルーターにはいくつかのメソッドを実装しますが、その中の一つ、 allow_…
GoogleAppEngineのStandard環境でPython3.7のランタイムがベータ版で利用できるようになったので、試していました。 ドキュメントにはFlaskアプリケーションをデプロイする手順が記載されていましたが、Djangoアプリケーションだと少し設定が追加で必要だっ…
7/7にオープンソースカンファレンス2018 Hokkaidoに行ってきました。 www.ospn.jp 北海道のOSCにはここ数年は参加し続けてますが、セミナーや展示の数も多く、毎年楽しめてます。 今回もdjango-ja名義でDjangoフレームワークの紹介をしました。資料は去年の…
DjangoCongress JP 2018にスタッフとして参加しました。 djangocongress.jp Djangoフレームワークのみをテーマとした100人以上の規模のイベントは、日本では初めてだったように思います。 半年前から準備してきたイベントですが、無事終了できてよかったです…
以前作成した DjangoフレームワークとVue.jsを使ってアプリケーションを作る - 偏った言語信者の垂れ流し の、Vuex対応版です。 よかったらGitHubでStarをつけてください! github.com controllerとしていた部分を、VuexのStoreに書き換え、Vueコンポーネン…
NGINX Unitは、NGINXの開発元が作ってるアプリケーションサーバー。 http://unit.nginx.org/ Pythonのアプリケーションも動かせるとのことなので、Djangoアプリで試してた。 試した環境は、Vagrant上でUbuntu 16.04 LTS、Python 3.6.2(deadsnakes PPA)、Djan…
DjangoのモデルにTextFieldでJSON文字列を保存しておき、APIをDjango REST Frameworkで提供する例。 JSONデータを保存して、読み込み時にもJSON形式のまま提供したかった。 restframeworkのシリアライザのFieldクラスを継承し、JSONを扱うフィールドを定義し…
DjangoフレームワークとVue.jsでアプリケーションを作る例として、テキストを編集保存するシンプルなノートアプリケーションを作ってみました。 github.com Djangoのサーバーサイドレンダリングを使いつつ、Vueを組み合わせる一例として参考になればよいかな…
この記事は Django Advent Calendar 2017 の7日目の記事です。 Djangoのモデルクラスを継承した場合、Metaに特に指定が無ければ、マルチテーブル継承となり、migrateを実行すると2つのテーブルができます。 モデルを継承して単一のテーブルにする方法は2つあ…
この記事は Django Advent Calendar 2017 の6日目の記事です。 tell-kさんの記事 を読んでいて、「そういえばDjangoには組込みのドキュメントジェネレータがあるんで紹介しておこう」と思ったので書くことにしました。 タイトルの通り、 django.contrib.admi…
Hadoop WebUIソフトウェアのHueのmeetupでDjangoの話をしてきました。 connpass.com HueはDjangoフレームワークで作られているのですが、どのように使われてるとか、拡張の仕方とかを紹介しました。 スライドは、slideshareにアップロードしています。 Djang…
Djangoのモデルクラスにフィールドやメソッドを定義しておいて、さらに属性値を代入していて、この値を取得するコードを書く場合。 メソッドのほうはgetattrでとればいいのだけど、同様にDjangoのフィールドのほうはget_fieldでフィールドを取得しないといけ…
www.ospn.jp 聞きに来てくださった方はありがとうございました。 今年も北海道の人たちに会えたのでよかったです。また来年。 スライドとサンプルコード Djangoフレームワークの紹介 from Shinya Okano www.slideshare.net github.com
bpmappersのバージョン0.9を公開しました。 pypi.python.org リポジトリはbeproud organization以下にありますが、権限を頂いて引き続きメンテナンスしています。 以前のバージョンでは、django.utilsにあったSortedDictとMultiValueDictをコピーして使って…
django-ftpserverのバージョンを0.5.0に上げました。 pypi.python.org pyftpdlibのFileSystemにDjangoのStorageAPIをつなげる機能を追加してみました。 StorageAPIとつなげると、面白そうだなーというのは前から考えてたんですが、StorageAPI側の機能が足り…
Djangoフレームワークに依存するPythonのモジュールを作っていると、複数のPythonバージョンと複数のDjangoバージョンでテストコードを実行する必要があります。 手元で実行する場合はtoxを使うのですが、CIツールでもテストを実行したいです。 Welcome to t…
Djangoフレームワークの1.11がリリースされましたね。 Django 1.11 released | Weblog | Django 1.11はLTS(Long Term Support)バージョンです。メンテナンス期限はリリースから3年後までなので、2020年4月までになります。 1つ前のバージョン1.10のメンテナ…