django

Djangoのsyncdbでgroongaテーブルを作成するSQLを流しこむとエラーが出る件

次の条件のときにDjangoでエラーがおきます。 Djangoのデータベース作成コマンド「syncdb」を行うとき であって 外部SQLとしてgroongaテーブルを作成するとき 次のような流れです。 # python ./manage.py syncdb Failed to install index for hoge.Huga mode…

groonga storage engine をDjangoから使う場合

groongaをMySQL経由で使うストレージエンジン「groonga storage engine」ですが、FULLTEXT定義が可能です。 こんな風になります。 CREATE TABLE 'Hoge' ( ・・・ FULLTEXT INDEX (huga) ・・・ ) ENGINE = groonga DEFAULT CHARSET utf8; 通常のMySQLのFULLT…

O/Rマッパーは不要なのでしょうか?::SQLインジェクション対策「入力は汚染されている前提で設計せよ」

オブジェクト関係マッピング(O/Rマッパー)の不要という議論はたびたびありますが、 セキュリティ面と複雑性について思ったことを書いてみます。 自分はセキュリティ上の配慮から、ORMは総論としてあったほうがいいと思う派です。 O/Rマッピングとは 物事を…

DjangoのエラーMultiValueDictKeyErrorの解決方法〜ちょびっとテクニカル

DjangoでQueryDictのエラー関係でMultiValueDictKeyErrorが出る時があります。これをtry except文でキャッチしようとするとなかなかうまくいきません。 hugaがNULLのためにQueryDictのエラーが出る例 Exception Type: MultiValueDictKeyError at /hoge/ Exce…

DjangoでカスタムSQLを使う場合のプログラム

Djangoで自作のカスタムSQLを発行する場合の関数について、調べてみます。 DjangoにはカスタムSQLを使うモジュールが用意されています。 通常のSQLだと味がないので、MATCH AGAINSTの全文検索を図る場合を書いてみます。 groongaのテキスト検索などもこの文…

Djangoのページネートミドルウェア「django-pagination」を設定する方法

django-paginationを使って、テンプレートで簡単にページ分割を使いましょう。まずはダウンロードします。django-paginationダウンロードしたら、インストールします。 # python setup.py install running install running bdist_egg running egg_info writi…

global name 'connection' is not definedというエラーが出る場合の対処方法

データベースに接続するときに、カスタマイズしたSQL等を発行するときに、 以下のようなエラーが出る場合があります。 global name 'connection' is not defined Django Version: 1.2.4 Exception Type: NameError Exception Value: global name 'connection…

Djangoでsyncdbでデータベースを作成するときに自作のSQLを実行したい場合

Djangoを使っているときに、独自のSQLを流し込みたい場合があります。 そのようなときはpython manage.py syncdbのときに 次のようなディレクトリに配置したSQLを実行してくれます。 は作成中のアプリ名です。models.py等が配置されているとします。 その配…

Django1.2でINNODBを使いたい場合のsettings.pyの設定方法

Djangoは1.2から複数のデータベースに接続することが可能になりました。データベースをMySQLのInnodbに指定して、構築してみます。まだあまり設定方法が出ていないようなので、今回確認できている例を載せておきます。 初期のsetting.py mysqlの設定をくわえ…

Djangoのsyncdbで_mysql_exceptions.OperationalError: (1049, "Unknown database 'hoge'")のエラーがでた場合の対処方法

Django1.2.4でプロジェクトを新たに作成して、MySQLを指定して、 初めてsyncdbするとき、次のようなエラーが出る場合があります。 _mysql_exceptions.OperationalError: (1049, "Unknown database 'hoge'") "Unknown database 'hoge' これはMySQLにhogeとい…

Djangoからmemcacheを使う場合のエラーが発生した場合の解決方法

Djangoからmemcachedを使いたい場合に、Memcachedをインストールしているのに、エラーが発生する場合があります。例えば以下のようなエラーです。 raise InvalidCacheBackendError("Memcached cache backend requires either the 'memcache' or 'cmemcache' …

MySQLdbが使えない場合の設定方法

Djangoなどを使っていると、MySQLdbが使えない場合があります。例えば以下のようなエラーです。 raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No modu…

Python2.6からsqlite3が読み込まれないエラーの解決方法

ソースからインストールしたpython2.6で、Djangoのsyncdb等を使おうとすると、sqlite3が読み込めないとエラーが発生します。 % python manage.py syncdb raise ImproperlyConfigured, "Error loading %s module: %s" % (module, exc) django.core.exceptions…

Pinadx0.7.3とDjango1.2.4の相性がよくない件

Pinax 0.7.3 / Django 1.2.4 の組み合わせだと以下のようなエラーが出る。 TemplateSyntaxError at / Caught TypeError while rendering: __init__() got an unexpected keyword argument 'error_message' 組み合わせがよくないのか、一度Pinax0.7.1、Django…

Pinax0.7.3のclone_project(雛形)一覧について

Djangoのフレームワークを元に、様々なプログラムをプラグインの形で詰め込んだPinaxは、 実によく作られています。初期に入っている雛形のセットについて一覧を見てみましょう。Pinax0.7.3にはあらかじめ、以下の雛形のセットが用意されています。 第1部 P…

DjangoからMySQLサーバを使ったり、INNODB形式を指定する設定

Djangoは様々なデータベースを指定して使うことができる。MySQLを使う場合の設定について備忘録。 1.MySQL用モジュール(mysql-python)をインストールする。 # yum -y install mysql-devel # easy_install mysql-python 2.MySQL用のDBを作成しておく # …

Djangoのテンプレートで整数を3桁づつカンマ(,)で区切る方法

標題の通り。自作フィルタなどを作らなくても、Djangoはさまざまなテンプレート用のフィルタが存在する。使う上での注意点は次の3つ。 settings.py 設定ファイルは以下の追加 INSTALLED_APPS = ( # included 'django.contrib.auth', 'django.contrib.conten…