[問題] django CBV

作者: jackjenny (痛苦)   2020-09-30 01:44:38
最近在把CODE從FBV改成CBV
剛有點混亂,但開始掌握方向
這邊有幾個問題請教
我把http的post/get最後的render提出一個def,但想不出好處在哪?
Q1.提出def render好處在?好整理T變數?
Q2.為了在def render最後回傳使用locals()
還要多一道功夫寫context['xx'] = self.aa
context['yy'] = self.bb
好處是?
Q3.如果一開始在def get()裡面敘述self.time變數時間(舉例)
有辦法在def post()裡面敘述可以用到def get()的self.time時間變數嗎?
Q4.URL path 提到要改成(abc/',XXXX.as_view())但這樣不指定def 為什不會出錯?
所以我改成 ('abc/',XXXX.get(or.post)) 指定函數!
正在把CODE轉換成CBV 陣痛期中XD
下面是某段類似範本:
class XXXX(View):
now = datetime.now()
def render(self, request):
context = locals()
context['XX'] = self.now
return render(request, 'XXX.html', locals())
def post(self, request):
#self.now = datetime.now()
return self.render(request)
def get(self, request):
#self.now = datetime.now()
return self.render(request)
作者: aidansky0989 (alta)   2020-09-30 12:06:00
一般函數變量在函數跑完銷毀,類屬性存在內存暫區等類跑完銷毀有些寫法建議你ctrl點進去看原代碼
作者: jackjenny (痛苦)   2020-09-30 14:53:00
請問aid 意思是A函數裡的X變數只能在A函數使用離開銷毀在類屬性下A函數"變量"可以B函數使用 對吧?

Links booklink

Contact Us: admin [ a t ] ucptt.com