2016年7月28日 星期四

Django筆記

本筆記的目的,在簡述一些重點。比較詳細的資料還是需要上網找,不過看了本筆記之後應該有助於理解網路上的資料(例如 https://docs.djangoproject.com/en/1.9/intro/tutorial01/)。

  • 安裝Django
  • 建立與啟動server
    • 指令:django-admin startproject <server name>
      • 會產生一些和server相關的目錄和檔案
      • 目錄有:
        • server_name/
        • server_name/server_name/
    • 啟動server:python manage.py runserver [[<ip>:]<port number>]
      • 省略ip和port number:預設值127.0.0.1:8000,將造成只有localhost可連線
      • 省略ip:效果同 127.0.0.1:port_number,也會造成只有localhost可連線
      • 當要提供外部服務時,我們要將ip改成0.0.0.0或真實ip,差別會在一台電腦有多個ip的時候(個人沒有實測過):
        • 0.0.0.0:port:佔用該電腦所有ip的port
        • aa.bb.cc.dd:port:只佔用aa.bb.cc.dd的port
    • 網站的功用:根據url選擇application、呼叫application、回傳content。
    • 也就是說,產生content是application的責任。
  • 建立與啟用application
    • 網站會根據url的doc path來選擇將此query送給對應的application去處理
    • 建立app:python manage.py startapp <app name>
      • app目錄為 server_name/app_name
    • url的對應
      • url的對應方法,主要是記錄在 server_name/server_name/urls.py 中
      • 如果有多個applications,把所有的對應放在一起可能有些混亂,所以django網站上的tutorial建議在建立一個 server_name/app_name/urls.py 檔,然後在 server_name/server_name/urls.py 當中來引用。
    • server_name/server_name/settings.py
      • 如果這個application會被其它projects用到,那麼要在settings.py當中設定
      • 如果透過django的database程式架構,那要在settings.py當中設定database的相關資訊
        • 透過django的程式架構,如果後端要更換資料庫系統,會比較方便,可能改設定就好。
        • 執行 python manage.py migrate,會根據application的設定來建立資料庫。

沒有留言:

張貼留言