2011年5月18日 星期三

Django Template

先紀錄一下使用 def 時的小小注意事項~
例如:def xxx(request,abc):
傳入值 abc 一定為字串
如果傳入是 123 的話就要用 int(abc) 來轉換成數值進行後續的計算

Template
{{ p }} 變量(變數)
{% p %} Template Tag
{# ... #} 單行注釋
{% comment %}.......{% endcomment %} 多行注釋
*在練習過程中發現,HTML在存檔時必需要將編碼存成 utf-8 不然在執行時會顯示錯誤 UnicodeDecodeError

設計 Template 通常開一個資料匣來存放 html
這時就要在 Settings.py 的 TEMPLATE_DIRS 設定好路徑
例:TEMPLATE_DIRS = ('C:/TestWeb/Templates', )
在 Windows 系統底下路徑是要用斜線,不是反斜線

在 Django中叫用 Template 可以使用 render_to_response 來簡化程式
例如在 html 中要顯示目前日期時間
nowdatetime.html
<html>
<body>
目前日期時間:{{ nowdatetime }}
</body>
</html>

在 py 中可寫成
urls.py
from django.conf.urls.defaults import *
from TestWeb.view import *
urlpatterns = patterns('', ('^datetime/$', datetime))

view.py
from django.shortcuts import render_to_response
import datetime
def datetime(request):
      now = datetime.datetime.now()
      return render_to_response('nowdatetime.html', {'nowdatetime': now})

* render_to_response 簡化了下列程式
view.py
   from django.template.loader import get_template
   from django.template import Context
   from django.http import HttpResponse
   import datetime
   def datetime(request):
         now = datetime.datetime.now()
         t = get_template('nowdatetime.html')
         html = t.render(Context({'nowdatetime': now}))
         return HttpResponse(html)

Template 繼承
在 html 中放置 {% block xxx %} 區段
例如:
base.html
<html>
<body>
姓名 {% block name %}{% endblock %}
年齡 {% block age %}{% endblock %}
</body>
</html>

使用 {% extends %} 繼承 base.html
例如:
member.html
<html>
<body>
{% extends "base.html" %}
{% block name %}My name is Frank{% endblock %}
{% block age %}30{% endblock %}
</body>
</html>

2011年5月15日 星期日

django 初體驗

安裝 Pyton 、 Django 及 Google App Engine
如何安裝就不用再紀錄了,直接到 PytonDjangoGoogle 下載安裝檔瘋狂的按下一步就對了

建立 django 專案
 
1. 先在windows下建立好專案目錄 (例:TestWeb)
2. 執行 django-admin.py startproject TestWeb

啟動 Python 網站伺服器
1. 執行 python manage.py runserver
    (python 會自動針測 python變動,並自動載入)
2. http://127.0.0.1:8000 (出現 It Worked 代表已成功建立網站)


建立 django 網頁
1. 副檔案一定是 .py
    新增一個檔案 view.py 內容為顯示 Hello world


2. 建立好 py 後,必需在 urls.py 中加入對映的路徑
3. 把urls.py 最後一條 urlpatterns = patterns('',)註解掉再執行 http://127.0.0.1/hello/ 

2011年5月13日 星期五

開始學習 Python & Django

老大說:該學點新東西了
*************************************************************
嗯,真的該學點新東西了
不然還真的一直停留在現在這個階段
所以~
買了第一本 Python 的書 Python 學習手冊  
也發現了 Django 的教學網站 The django book

加油,準備踏上雲端吧~