最近、Web UIデザインの勉強を始めました。
流行のWeb UIデザインは、Responsive Designというらしく、これを試しに作成してみるため、オトなか れすぽんしぶというbloggerを新しく作成しました。
最新の作成状況は、そちらのサイトで確認できます。
2012年8月2日木曜日
2012年1月4日水曜日
DjangoでDateTimeを月や年でリスト取得する方法
DjangoでDateTimeを月や年でリストとして取得する方法
たとえば、blogなどで投稿がある月のみをリスト化したいときに、年・月のリストを取得するときに利用する方法
Entryというテーブルのpub_dateというカラムをリスト取得する場合、
Entry.objects.dates('pub_date', 'year') -> 年でリスト取得
Entry.objects.dates('pub_date', 'month') -> 年・月でリスト取得
昇順でリストを取得したい場合、order='DESC'を引数に追加する
参考サイト
・QuerySet API
たとえば、blogなどで投稿がある月のみをリスト化したいときに、年・月のリストを取得するときに利用する方法
Entryというテーブルのpub_dateというカラムをリスト取得する場合、
Entry.objects.dates('pub_date', 'year') -> 年でリスト取得
Entry.objects.dates('pub_date', 'month') -> 年・月でリスト取得
昇順でリストを取得したい場合、order='DESC'を引数に追加する
参考サイト
・QuerySet API
DjangoでDateTime型をテンプレート内でフォーマッティングする方法
DjangoでDateTime型のパラメータをテンプレート内で、所望のフォーマットで表示する方法
1.views.pyでは、他の型のパラメータと同じように、Dictionary型をContext型にフォーマッティングして、テンプレートに読み込ませる
テンプレート内では、次のようにフォーマッティングする
参考サイト
・Built in template tags and filters
1.views.pyでは、他の型のパラメータと同じように、Dictionary型をContext型にフォーマッティングして、テンプレートに読み込ませる
import datetime
from django.template import loader, Context
from django.http import HttpResponse
def index(request):
param1 = 'test'
param2 = datetime.datetime.now()
template = loader.get_template('test.html')
contexts = Context({'param1':param1,
'param2':param2,})
return template.render(contexts)
テンプレート内では、次のようにフォーマッティングする
{{ param2|date:"Y/n/d g:i A" }}
上のように指定すると、「2012/1/4 5:12 PM」と表示される参考サイト
・Built in template tags and filters
2012年1月1日日曜日
DjangoでSTATIC_URLをテンプレートで使う方法
STATIC_URLをテンプレートで参照できるようにする方法
1.settings.pyに割り当てたいURLを記述する
2.views.pyでテンプレートを呼び出す時にRequestContextを利用する
3.テンプレートファイル(show.html)でSTATIC_URLを使う
{{STATIC_URL}}と指定すると、settings.pyで定義した値を表示できる
1.settings.pyに割り当てたいURLを記述する
STATIC_URL = 'http://localhost/static'
2.views.pyでテンプレートを呼び出す時にRequestContextを利用する
from django.template import RequestContext, loader
from django.http import HttpResponse
def show(request):
template = loader.get_template('show.html')
contexts = RequestContext({})
return HttpResponse(template.lender(contexts))
3.テンプレートファイル(show.html)でSTATIC_URLを使う
{{STATIC_URL}}と指定すると、settings.pyで定義した値を表示できる
2011年12月29日木曜日
SpringFrameworkでWebアプリ作成
今までは、Python(Django)でWebアプリを作成していたが、これからはJavaで作らなければならなくなった
いろいろとJavaのWebフレームワークを比較して、Spring MVC 3.1.0 Releaseで作成することにした
DI (Dependency Injection)など、慣れない考え方で苦戦中だが、詰まったところを記録に残していく
いろいろとJavaのWebフレームワークを比較して、Spring MVC 3.1.0 Releaseで作成することにした
DI (Dependency Injection)など、慣れない考え方で苦戦中だが、詰まったところを記録に残していく
2011年10月30日日曜日
Google App EngineでDjango
2011年9月19日月曜日
MacへのOpenCVインストール
MacへOpenCVをインストール
Pythonから呼び出すため、Python 2.7とともにインストール
今回は、ソースコードからではなく、MacPortsを利用してインストール
(依存モジュールが多いため)
1.MacPortsのインストール
http://www.macports.org/からインストーラをダウンロードして、簡単にインストールできる
2.MacPortsでOpenCVをインストール
ターミナルを起動し、次のコマンドを実行すれば、インストールが開始する
# sudo port install opencv +python27
・MacPortsでインストール中にPerlがエラーを起こした
対策としては、activeなperl5.8をアンインストールして、最新のPerlだけにすればよい
手順は次の通り
1.インストールされているPerlを表示
これで、OpenCVのインストールを再会すればインストールできる
(インストールが完了するまでに、2時間ほどかかった・・・)
Pythonから呼び出すため、Python 2.7とともにインストール
今回は、ソースコードからではなく、MacPortsを利用してインストール
(依存モジュールが多いため)
1.MacPortsのインストール
http://www.macports.org/からインストーラをダウンロードして、簡単にインストールできる
2.MacPortsでOpenCVをインストール
ターミナルを起動し、次のコマンドを実行すれば、インストールが開始する
# sudo port install opencv +python27
・MacPortsでインストール中にPerlがエラーを起こした
Error: Target org.macports.activate returned: Image error: /opt/local/bin/a2p is being used by the active perl5.8 port. Please deactivate this port first, or use 'port -f activate perl5' to force the activation.エラー内にあるport -f activate perl5を実行しても、うまくいかなかった
対策としては、activeなperl5.8をアンインストールして、最新のPerlだけにすればよい
手順は次の通り
1.インストールされているPerlを表示
# sudo port installed | grep perl perl5 @5.8.9_0 perl5 @5.12.3_0+perl5_12 perl5.8 @5.8.9_3 (active) perl5.12 @5.12.3_1 (active)2.インストールされているPerlの中から、古いバージョンのものをアンインストール
# sudo port uninstall perl5 @5.8.9_0 # sudo port uninstall perl5.8
これで、OpenCVのインストールを再会すればインストールできる
(インストールが完了するまでに、2時間ほどかかった・・・)
2011年8月7日日曜日
HTTPレスポンスコードの取得
Pythonのurllib2を利用してWebサイトへアクセスしたときのHTTPレスポンスコードを利用するために、保存しておく方法
urllib2では、200以外はHTTPExceptionとなってしまうため、例外時の処理として書かなければならない
参考サイト:
urllib2では、200以外はHTTPExceptionとなってしまうため、例外時の処理として書かなければならない
import urllib2
# HTTPレスポンスコードを格納する変数
http_code = 0
# アクセスするwebサイトのURL
url = 'http://www.yahoo.co.jp'
try:
# webサイトへアクセス
web = urllib2.urlopen(url)
# 成功した場合、この行以下も実行されるのでhttp_codeは200
http_code = 200
except: HTTPError, e:
http_code = e.code
print http_code
これで、正しくWebサイトにアクセスできたかを確認できる参考サイト:
実行ファイルの親ディレクトリのパスを取得
Pythonでプログラムを実行しているファイルの親ディレクトリのパスを取得する方法
import os parent_path = os.path.abspath(os.path.dirname(__file__)) print parent_path例えば、/workspace/src/test.pyで実行した場合、parent_pathは'/workspace/src'となる
2011年8月6日土曜日
PythonでWebのリンクリスト取得
BeautifulSoupを利用してWebサイトのページ内にあるリンクをリストとして取得する方法
import urllib2
from BeautifulSoup import BeautifulSoup
if __name__ == '__main__':
# アクセスするWebサイトのURL
url = 'http://www.yahoo.co.jp/'
# Webサイトへアクセス
web = urllib2.urlopen(url)
# BeautifulSoupで解析できるよう読み込む
html = BeautifulSoup(web)
# 'a'タグの全ての要素をリストとして抽出する
base_linklist = self.getTagList('a')
# 抽出した要素リストを1つずつ解析
for link in base_linklist:
# 'href'がタグ内に含まれない場合は無視する
if link.__str__().find('href=') != -1:
# リンク名:リンクURLと表示
print link.string.__str__() + ':' + link['href']
リンク名が画像などの場合、link.stringはNoneが得られるため、文字列に変換しておく必要がある
登録:
投稿 (Atom)