<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>Ken's blog &#187; Django</title>
	<atom:link href="http://blog.sibrof.net/ken/tag/django/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sibrof.net/ken</link>
	<description>The keyword is unisexy.</description>
	<lastBuildDate>Tue, 23 Mar 2010 09:53:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sibrof.net/ken/tag/django/feed/" />
		<item>
		<title>携帯のセッション維持</title>
		<link>http://blog.sibrof.net/ken/2009/06/14/2115/</link>
		<comments>http://blog.sibrof.net/ken/2009/06/14/2115/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 16:00:54 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://blog.sibrof.net/ken/?p=2115</guid>
		<description><![CDATA[携帯ってクッキーを使えない奴がいたはず。
確か、docomo。
最近の機種は使えるようになったが、不具合が出て・・・なんてことになってた気がする。
クッキーを使えないとセッションの維持が面倒そうだ。
少なくともDjang [...]]]></description>
			<content:encoded><![CDATA[<p>携帯ってクッキーを使えない奴がいたはず。<br />
確か、docomo。<br />
最近の機種は使えるようになったが、不具合が出て・・・なんてことになってた気がする。<br />
クッキーを使えないとセッションの維持が面倒そうだ。<br />
少なくともDjangoの認証ではクッキーが必要だったはず。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sibrof.net/ken/2009/06/14/2115/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sibrof.net/ken/2009/06/14/2115/" />
	</item>
		<item>
		<title>django.views.static.serve</title>
		<link>http://blog.sibrof.net/ken/2009/06/10/2099/</link>
		<comments>http://blog.sibrof.net/ken/2009/06/10/2099/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 14:56:39 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://blog.sibrof.net/ken/?p=2099</guid>
		<description><![CDATA[とあるサイトを見て、djangoをいじってた。
urlpatterns = patterns(&#8221;,
	(r&#8217;^static/(?P
.*)$&#8217;, &#8216;django.views [...]]]></description>
			<content:encoded><![CDATA[<p>とあるサイトを見て、djangoをいじってた。</p>
<blockquote><p>urlpatterns = patterns(&#8221;,<br />
	(r&#8217;^static/(?P
<path>.*)$&#8217;, &#8216;django.views.static.serve&#8217;, {&#8216;document_root&#8217;:'/path/to/static&#8217;}),<br />
)</p></blockquote>
<p>document_rootには&#8217;./static&#8217;って相対パスで書いてあったんだけど、実際は絶対パスじゃないと動かない。<br />
もしかしたら、相対パスの基準となる場所が違っていただけなのかもしれないけど、基準がわからず。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sibrof.net/ken/2009/06/10/2099/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sibrof.net/ken/2009/06/10/2099/" />
	</item>
		<item>
		<title>django-evolution</title>
		<link>http://blog.sibrof.net/ken/2009/05/05/1846/</link>
		<comments>http://blog.sibrof.net/ken/2009/05/05/1846/#comments</comments>
		<pubDate>Tue, 05 May 2009 09:24:37 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://blog.sibrof.net/ken/?p=1846</guid>
		<description><![CDATA[東京に戻ってきました〜。
早速Djangoネタ。
django-evolution &#8211; Google Code
http://code.google.com/p/django-evolution/
pytho [...]]]></description>
			<content:encoded><![CDATA[<p>東京に戻ってきました〜。<br />
早速Djangoネタ。</p>
<p>django-evolution &#8211; Google Code<br />
<a href="http://code.google.com/p/django-evolution/">http://code.google.com/p/django-evolution/</a><br />
python manage.py syndb後にDBを更新しなければならないんだけど、それをやってくれるモジュール。<br />
使い方は書いてある通りなんだけど、こんな感じに便利もジュールを増やしていくと、あとが大変そうなのでシンボリックリンクで分離してみた。</p>
<p>modules<br />
  `&#8211; django_evolution<br />
project_dir<br />
  |&#8211; django_evolution &#8211;> ../modules/django_evolution<br />
  `&#8211; other apps</p>
<p>modulesにはどこかで拾ってきたものを入れて、project_dir配下からシンボリックリンクで参照。</p>
<p>こんなのを書いておくと./syndbだけで済んじゃうけど、悪影響は無いかな？<br />
しばらく使ってみるか。</p>
<blockquote><p>
#!/bin/bash</p>
<p>py manage.py syncdb<br />
py manage.py evolve &#8211;hint &#8211;execute
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.sibrof.net/ken/2009/05/05/1846/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sibrof.net/ken/2009/05/05/1846/" />
	</item>
		<item>
		<title>Djangoのnullの扱い方</title>
		<link>http://blog.sibrof.net/ken/2009/04/01/1649/</link>
		<comments>http://blog.sibrof.net/ken/2009/04/01/1649/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 16:28:49 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://blog.sibrof.net/ken/?p=1649</guid>
		<description><![CDATA[Djangoでnullをセットしようとした場合、ちょっとしたコツが必要。
コツというか、考え方としては突拍子なわけでもない。
ただ、知らないとどうしていいのかわかんない。
モデルフィールドリファレンス — Django  [...]]]></description>
			<content:encoded><![CDATA[<p>Djangoでnullをセットしようとした場合、ちょっとしたコツが必要。<br />
コツというか、考え方としては突拍子なわけでもない。<br />
ただ、知らないとどうしていいのかわかんない。</p>
<p>モデルフィールドリファレンス — Django v1.0 documentation<br />
<a href="http://djangoproject.jp/doc/ja/1.0/ref/models/fields.html#django.db.models.fields.Field.null">http://djangoproject.jp/doc/ja/1.0/ref/models/fields.html#django.db.models.fields.Field.null</a><br />
まずはここに書いてあること。</p>
<blockquote><p>空の文字列値は NULL ではなく空文字列として保存されることに注意して下さい。 null=True が使えるのは、整数型やブール型、日付のような、文字列ではないフィールド型の場合だけです。 null はデータベースでの記録操作にのみかかわるパラメタなので、フォーム上で空の値を入力できるようにしたければ blank=True も指定する必要があるでしょう (blank も参照してください)。</p></blockquote>
<p>具体的には、</p>
<ul>
<li>文字列はnullを扱えない</li>
<li>nullをセットしたかったらnull=Trueを使う</li>
<li>ForeignKeyの場合はblank=True, null=Trueと併せて使う</li>
</ul>
<p>ということ。</p>
<p>勝手な解釈ではあるが、</p>
<ul>
<li>空文字はわかるけど、文字が無いってなんか変じゃない？</li>
<li>nullにしたい場合は明示的に</li>
<li>ForeignKeyみたいな場合は未入力(blank)を許しつつ、参照してるんだからnullも許可させる必要がある</li>
</ul>
<p>ってことなんじゃないかな。<br />
なぜ、blankとnullみたいな、似たような項目があるのか？ということについては似て非なるものだからだと思ってる。<br />
blankについては入力時のチェックに使う、validationに関する項目。<br />
nullについてはデータの存在意義(意義というとちょっと違うかな)についての定義。<br />
こう考えると、文字列はblankを許可する必要はあるかもしれないけど、値が無いってのはおかしいでしょ？だから、null=Trueなんて設定できないよ〜。<br />
ForeignKeyを設定したく無いなら、未入力(blank)を許可しなきゃね。それとは別に、参照先が無い場合(null)があるからそれは別に定義しなきゃダメだよね。<br />
ってことなんだと思う。</p>
<p>今のところ自分ではすっきりしてるのでいいかな？と思ってる。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sibrof.net/ken/2009/04/01/1649/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sibrof.net/ken/2009/04/01/1649/" />
	</item>
		<item>
		<title>2冊のバージョン違い</title>
		<link>http://blog.sibrof.net/ken/2009/03/11/1491/</link>
		<comments>http://blog.sibrof.net/ken/2009/03/11/1491/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 15:00:42 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[book]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.sibrof.net/ken/?p=1491</guid>
		<description><![CDATA[とは微妙に読みづらい。
&#8220;はじめてのPython3&#8243;はタイトル通りPython3を視野に入れた本。
&#8220;Django x Python&#8221;はPython2.5をベースに書いてる [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.amazon.co.jp/dp/4777514196?tag=unisexyblog09-22&#038;camp=243&#038;creative=1615&#038;linkCode=as1&#038;creativeASIN=4777514196&#038;adid=13DB6K6E7YX9ZWTA9XDD&#038;"><img src="https://images-na.ssl-images-amazon.com/images/I/419l99E6SQL._SL100_.jpg" alt="Python3" /></a>と<a href="https://www.amazon.co.jp/dp/477413760X?tag=unisexyblog09-22&#038;camp=243&#038;creative=1615&#038;linkCode=as1&#038;creativeASIN=477413760X&#038;adid=1FZ59EB5C6XQEDMV3J79&#038;"><img src="https://images-na.ssl-images-amazon.com/images/I/51Ah8uLWeqL._SL100_.jpg" alt="Django x Python" /></a>は微妙に読みづらい。</p>
<p>&#8220;はじめてのPython3&#8243;はタイトル通りPython3を視野に入れた本。<br />
&#8220;Django x Python&#8221;はPython2.5をベースに書いてる。<br />
Django本はDjangoのところだけ読めばいいんだろうけど、ちょっと読みづらい(^^;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sibrof.net/ken/2009/03/11/1491/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sibrof.net/ken/2009/03/11/1491/" />
	</item>
		<item>
		<title>Python本x2</title>
		<link>http://blog.sibrof.net/ken/2009/03/07/1471/</link>
		<comments>http://blog.sibrof.net/ken/2009/03/07/1471/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 14:35:59 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.sibrof.net/ken/?p=1471</guid>
		<description><![CDATA[
はじめてのPython3
こっちは流し読み程度にしとくつもり。

Django x Python
こっちは読みつつ、調べつつという感じかな。
あと、PLUTO 7を買ったんだった。

PLUTO 7
Amazonのリン [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.amazon.co.jp/dp/4777514196?tag=unisexyblog09-22&#038;camp=243&#038;creative=1615&#038;linkCode=as1&#038;creativeASIN=4777514196&#038;adid=13DB6K6E7YX9ZWTA9XDD&#038;"><img src="https://images-na.ssl-images-amazon.com/images/I/419l99E6SQL._SL100_.jpg" alt="Python3" /></a><br />
はじめてのPython3<br />
こっちは流し読み程度にしとくつもり。</p>
<p><a href="https://www.amazon.co.jp/dp/477413760X?tag=unisexyblog09-22&#038;camp=243&#038;creative=1615&#038;linkCode=as1&#038;creativeASIN=477413760X&#038;adid=1FZ59EB5C6XQEDMV3J79&#038;"><img src="https://images-na.ssl-images-amazon.com/images/I/51Ah8uLWeqL._SL100_.jpg" alt="Django x Python" /></a><br />
Django x Python<br />
こっちは読みつつ、調べつつという感じかな。</p>
<p>あと、PLUTO 7を買ったんだった。<br />
<a href="https://www.amazon.co.jp/dp/4091823866?tag=unisexyblog09-22&#038;camp=243&#038;creative=1615&#038;linkCode=as1&#038;creativeASIN=4091823866&#038;adid=1GQZ8A0T1EVYMZKWBCWV&#038;"><img src="https://images-na.ssl-images-amazon.com/images/I/51CrieLiHoL._SL100_.jpg" alt="PLUTO 7" /></a><br />
PLUTO 7</p>
<p>Amazonのリンクはめんどいな・・・。<br />
プラグインを調べたけど、どれもあまり気に入らなかったからなぁ・・・自分で書くか？</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sibrof.net/ken/2009/03/07/1471/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sibrof.net/ken/2009/03/07/1471/" />
	</item>
		<item>
		<title>syncdbでsqliteのエラー</title>
		<link>http://blog.sibrof.net/ken/2009/02/28/1414/</link>
		<comments>http://blog.sibrof.net/ken/2009/02/28/1414/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 06:37:12 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[SQLite]]></category>

		<guid isPermaLink="false">http://blog.sibrof.net/ken/?p=1414</guid>
		<description><![CDATA[djangoを入れてみたものの、sqlite3のモジュール部分で動作せず。
python manage.py syncdbでなぜかエラー。
Error loading sqlite3 module: No module  [...]]]></description>
			<content:encoded><![CDATA[<p>djangoを入れてみたものの、sqlite3のモジュール部分で動作せず。<br />
python manage.py syncdbでなぜかエラー。</p>
<blockquote><p>Error loading sqlite3 module: No module named _sqlite3</p></blockquote>
<p>環境はUbuntu 8.10にPython2.6をソースでインストール。<br />
そこに、djangoをsetup.pyでインストールした。</p>
<p>Web上でも似たような人たちがいて、人それぞれ対応が違う。<br />
ソースで入れ直す人、CentOSでdevelパッケージを入れたりしてる人。<br />
結局、直接的な解決に至らなかったので、自分で対応を考えることにした。</p>
<p>まず、_sqliteが無いと言われているので存在を確認。<br />
Python2.6ディレクトリ配下には存在せず <img src='http://blog.sibrof.net/ken/wp-includes/images/smilies/icon_sad.gif' alt=':sad:' class='wp-smiley' /><br />
Python2.5は・・・あった！<br />
たぶん、python-pysqlite2というパッケージが入っているからだと思う。<br />
というわけで、_sqliteを使うべく、Python2.6のライブラリとして使うためにシンボリックリンク作成。<br />
そしたら、unicodeなんとかでエラー。<br />
2.6の役割の一つに3.0への移行があるから、それに関する違いでエラーが出たっぽい。</p>
<p>じゃ、setup.pyで_sqliteを作ればいっか、と調べてみるとpysqlite2というライブラリがあるっぽい。<br />
dpkgではpython-pysqlite2として配布されてるやつだな。<br />
pysqlite – Trac<br />
<a href="http://oss.itsystementwicklung.de/trac/pysqlite">http://oss.itsystementwicklung.de/trac/pysqlite</a><br />
ここからダウンロードしてきて、インストールを実行。<br />
python setup.py install<br />
インストール途中でエラー発生。</p>
<p>sqliteのソースが無いようなことを言われたのでソースをインストール。<br />
sudo apt-get install libsqlite3-dev<br />
yumパッケージで言う&#8221;-devel&#8221;みたいなパッケージっぽい。<br />
再度、pysqlite2をsetup.pyでインストール。</p>
<p>このあと、syncdbを試したら動作しました。<br />
無理な構成にもなってないし、この対応でよかった気がする。<br />
setup.pyでインストールする時はそのバージョン配下のライブラリとして増えていくみたいなので、2.6が不要となったら/opt/python2.6を消せば済みそう。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sibrof.net/ken/2009/02/28/1414/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sibrof.net/ken/2009/02/28/1414/" />
	</item>
	</channel>
</rss>
