タグ: Django

Python

【django】マイグレーションツールの使い方

django1.7から標準装備された、マイグレーション機能のやり方をまとめました。また、ユニーク制約付きのカラムを追加する方法や、エラーが発生した場合の復旧方法などもまとめてあります。

今までdjangoのマイグレーションツールといえばsouthでしたが、django1.7以降では動かないそうので、それ以降は素直に標準装備されたマイグレーションツール機能を使っていきましょう。

今回使用したPythonのバージョンは3.4.3、djangoのバージョンは1.8.2です。

続きを読む »

Python

[Django] サイトマップを出力する方法

Webサイトを運営する際、サイトマップを作成すると色々な恩恵を受けることができますが、フォーマットに従ってXMLファイルを作成するのは結構面倒です。Djangoには「sitemap framework」というフレームワークがあり、これを使うとそのサイトマップを簡単に出力することができます。

続きを読む »

Python

[Django] get_or_noneメソッド

Twitterでご指摘いただいた、get_query_setをget_querysetに修正しました。Django 1.6 release notes

Djangoで、「モデルクラス.objects.get(条件)」といった形でクエリを発行した場合、ヒットしなかった場合は「モデルクラス.DoesNotExist」という例外が発生します。これを「try-except」で毎回ハンドリングするのは結構面倒です。なので、「get_or_none」という、ヒットしたらモデルを、ヒットしなかったら「None」を返すメソッドを用意しておくと便利です。

続きを読む »

Python

[Django] メッセージが追加されているかを判定する方法(改)

djangoのメッセージフレームワークを使っている場合の、メッセージが追加されているかどうかを判定する方法です。以前も同じ目的の記事を書きましたが、もっといいやり方があったのでメモしておきます。
続きを読む »

Python

[Django] テンプレート内でDBのカラムサイズを取得する方法

ModelFormを使ったフォームを表示させるテンプレート内で、Modelの各フィールドに設定した「max_length」を表示させる方法です。今までは定数クラスを用意し、それをModelとテンプレート内で使うというやり方をしていたのですが、もっと簡単にアクセスできることがわかりました。

続きを読む »