Django Web開發指南筆記


Django Web開發指南筆記

語句VS表達式

  • python代碼由表達式和語句組成,由解釋器負責執行。
  • 主要區別:表達式是一個值,它的結果一定是一個python對象;如:12,1+2,int('123')
  • 結果不是對象的代碼是語句,如:if、print、for

python中可變、不可變類型

  • 簡單類型或者標量類型,包括整數等其他數字類型,str和unicode這樣的字符串類型,以及元祖都是不可變。
  • 列表、字典、類都是可變的

  • python對象都有三個屬性(類型、標識符、值)

  • 標識符:運行在解釋器里所有對象都有的唯一的一個標識號

*args 和 **kwargs

  • 單*表示有元祖或list出現
  • 兩個*表示有字典出現

re.match 和 re.search

  • match :只從字符串的開始與正則表達式匹配,匹配成功返回match對象,否則返回none;
  • search :將字符串的所有字串嘗試與正則表達式匹配,如果所有的字串都沒有匹配成功,返回none,否則返回match對象;(re.search相當於perl中的默認行為)
  • 然后再用match對象的group和groups方法獲取匹配模式

import random vs from randow import choice

Package

http://www.crifan.com/pythonmodulevs_libraryvspackage/

 

python 的淺拷貝和深拷貝

http://www.tuicool.com/articles/nuQFbqe

 

 

python 動態實例屬性

 

 

模板繼承

`   {% extends "base.html" %}
    {% block content %}
    {% for post in posts %}
    <h2>{{ post.title }}</h2>
    <p>{{ post.timestamp }}</p>
    <p>{{ post.body }}</p>
    {% endfor %}
    {% endblock %}
`

Django模型層Meta內部類詳解

http://blog.chinaunix.net/uid-21633169-id-4374219.html

模板過濾器

- 日期

`
    <p>{{ post.timestamp|date }}</p>

`

ORM關系映射

  • 多對一: ForeignKeyField

  • 多對多: ManyToManyField(會自動創建關系表)

  • 一對一: OneToOneField

模型繼承

  • 抽象基礎類

抽象類不會生成數據表

  • 多表繼承

被繼承的類(父類)就是一張數據表,其實就是在子類和父類之間設置了一個OneToOneField。 由於這種形式的繼承允許父類擁有自己的屬性,Meta的繼承很可能導致兩端的沖突(父類的Meta會被子類繼承)。

什么是鴨子類型(duck typing)

  • 關心對象是什么類型,只關心行為!
  • 比如在python中,有很多file-like的東西,比如StringIO,GzipFile,socket。它們有很多相同的方法,我們把它們當作文件使用。

中間件

視圖與邏輯

視圖(也叫控制器),時所有DjangoWeb應用程序的核心。在定義和使用模型的時候,我們是數據庫管理員;在編寫模板的時候,我們時界面設計師;而在編寫視圖的時候,我們才是真正的軟件工程師。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM