簡而言之,就是__str__和__unicode__都是為了再管理站點中載入這個表時想顯示什麼屬性,當然一般都是顯示乙個name,大體來講是通用的。下面是抄的csdn上面的一篇文章。
str()是python的乙個「魔幻」方法,這個方法定義了當object呼叫str()時應該返回的值。django在許多地方使用str(obj)(或者相關方法,unicode(obj)——見下文),比如說在django管理站點載入乙個物件時顯示它的值或者作為物件的顯示值插入模板中。因此,我們應該總是返回乙個友好的,使用者可讀的字串作為物件的str。儘管這不是必須的,但還是建議這麼做。例如:
class person(models.model):
first_name = models.charfield(max_length=50)
last_name = models.charfield(max_length=50)
def __str__(self):
# note use of django.utils.encoding.smart_str() here because
# first_name and last_name will be unicode strings.
return smart_str('%s %s' % (self.first_name, self.last_name)
unicode()方法是在乙個物件上呼叫unicode()時被呼叫的。因為django的資料庫後端會返回unicode字串給model屬性,所以我們通常會給自己的model寫乙個unicode()方法。前面的例子也可以更簡單地寫成:
class person(models.model):
first_name = models.charfield(max_length=50)
last_name = models.charfield(max_length=50)
def __unicode__(self):
return u'%s %s' % (self.first_name, self.last_name)
如果定義了unicode()方法但是沒有定義str()方法,django會自動提供乙個str()方法呼叫unicode()方法,然後把結果轉換為utf-8編碼的字串物件。在實際開發中,建議:只定義unicode()方法,需要的話讓django來處理字串物件的轉換。 關於channel裡面的策略
關於channel裡面的策略 channel裡面的配置主要在data.data 0 pyload.data.config裡面。config是由groups遞迴形成的。groups的結構如下 groups 下一層 mod policy 當前層發生改變時,需要執行的策略名稱 policies 當前層策略...
關於爬蟲裡面的Cookie
把cookie放到headers中直接登入獲取資料 把cookie單獨拿出來利用字串切割轉換成字典然後放到請求的url中進行請求響應獲取引數 cookie dict requests.get url,headers headers headers,cookies cookie dict a b if...
關於Struts裡面的actionForward
1.actionforward的作用 封裝 路徑,通俗點說就是說完成頁面的跳轉和轉向。那它既然是轉向,到底是 還是重定向呢?預設的情況下,actionforward採用的是 的方式進行頁面跳轉的。2.給自己加深下印象,說一下 和重定向的區別。最大的區別就是 的時候,頁面的url位址不變,而重定向的時...