PythonフレームのDjango学習ノート(五)
4402 ワード
最初のDjangoホームページのリンク入ってきた要求は転入/ハロー/. DjangoはROOTにあります.URLCONF構成で、ルートURLconfを決定します. Djangoは、URLconfのすべてのURLモードにおいて、最初の一致/ハロー/のエントリを検索する. マッチが見つかったら、対応するビュー関数を呼び出します. ビュー関数は、HttpResonseを返します. Django変換HttpResonseは、適切なHTTP reponseとして、Webページで表示されます. 関数部分にurl写像した正規表現に関する知識は、http://www.cnblogs.com/voidy/p/3946451.htmlのブログで紹介されています.Djangoページを書くには十分ですが、爬虫類を書きたいなら、正規表現の知識を学ぶことをお勧めします.
最初のダイナミックビュー
このビューは、現在の日付と時間を計算し、これらの値を含むHttpResonseを返します.Pythonでこう書きました.
関数の8行目のコードは、現在の日付と時刻を計算し、datetime.datetimeオブジェクトとしてローカル変数nowとして保存します.
関数の9行目のコードはPythonのフォーマット文字列(format-string)機能でHTML応答の一部を構成しています.文字列の%sはプレースホルダで、文字列の後の百分番はその後の変数nowの値で%sを表します.変数%sはdatetime.datetimeオブジェクトです.文字列ではありませんが、%sは文字列に変換されます.例えば、2014-08-31 10:39:40.234000です.この結果、HTMLの出力文字列は、It is now 2014-08-31 10:39:40.234000となります.
最後に、前のブログに書いたhello関数のように、ビューはHttpResonseオブジェクトに戻り、生成された応答を含みます.
上記のコードを追加した後、urls.pyにURLモードを追加して、DjangoがどのURLでこのビューを処理するかを教えます.time/などの言葉で分かりやすいです.
最初のダイナミックビュー
このビューは、現在の日付と時間を計算し、これらの値を含むHttpResonseを返します.Pythonでこう書きました.
>>> import datetime
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2014, 8, 31, 10, 39, 40, 234000)
>>> print now
2014-08-31 10:39:40.234000
Djangoビューに現在の日付と時間を表示させるためには、ステートメント:datetime.datetime.now()をビュー関数に入れて、HttpResonseオブジェクトに戻るだけでいいです.コードは以下の通りです 1 from django.http import HttpResponse
2 import datetime
3
4 def hello(request):
5 return HttpResponse("Hello world")
6
7 def current_datetime(request):
8 now = datetime.datetime.now()
9 html = "<html><body>It is now %s.</body></html>" % now
10 return HttpResponse(html)
ファイルのトップに、import datetimeという文が追加されました.これで日付の計算ができます.関数の8行目のコードは、現在の日付と時刻を計算し、datetime.datetimeオブジェクトとしてローカル変数nowとして保存します.
関数の9行目のコードはPythonのフォーマット文字列(format-string)機能でHTML応答の一部を構成しています.文字列の%sはプレースホルダで、文字列の後の百分番はその後の変数nowの値で%sを表します.変数%sはdatetime.datetimeオブジェクトです.文字列ではありませんが、%sは文字列に変換されます.例えば、2014-08-31 10:39:40.234000です.この結果、HTMLの出力文字列は、It is now 2014-08-31 10:39:40.234000となります.
最後に、前のブログに書いたhello関数のように、ビューはHttpResonseオブジェクトに戻り、生成された応答を含みます.
上記のコードを追加した後、urls.pyにURLモードを追加して、DjangoがどのURLでこのビューを処理するかを教えます.time/などの言葉で分かりやすいです.
1 from django.conf.urls.defaults import *
2 from mysite.views import hello, current_datetime
3
4 urlpatterns = patterns('',
5 ('^hello/$', hello),
6 ('^time/$', current_datetime),
7 )
ビューを書き込み、URLconfを更新した後、コマンドpython manage.py runserverを実行してサービスを開始し、ブラウザに入力します.http://127.0.0.1:8000/time/. 現在の日付と時刻が表示されます.