いつもお世話になっております。
早速本題に入らせていただきます。
現在、DjangoとPythonを使用してWebアプリケーションを作成しているのですが、
複数のViewで同じ関数 を使っているなぁと感じたので、
親クラスを作って継承 させてみようと思いました。
一応問題なく既に動作はしているのですが、親クラスの関数の使い方が正しいのかご教示頂きたいです。
現在のコードを簡略化したものは下記になります。
Python
1class Parent: 2 """ 共通処理用の親クラス """ 3 def __init__(self): 4 self.request = self.request 5 6 def test1(self): 7 # 処理 8 return "処理結果1" 9 10 @staticmethod 11 def test2(): 12 # 処理 13 return "処理結果2" 14 15class ChildView(TemplateView, Parent): 16 """ 親クラスを継承したTemplateView """ 17 def __init__(self): 18 super(ChildView, self).__init__() 19 20 def get(self, request, *args, **kwargs): 21 """ 親クラスの関数の使い方予想1(動いた) """ 22 print(self.test1()) # 処理結果1 23 print(self.test2()) # 処理結果2 24 25 """ 予想2(動いた) """ 26 print(super().test1()) # 処理結果1 27 print(super().test2()) # 処理結果2 28 29 return render(request, "test.html", data)
【質問事項】
- 複数人同時に接続して使用するとなった場合、上記の書き方で支障はないのか
- 正しい方は予想1と予想2のどちらなのか(はたまた両方違うのか)
お時間ある方で、Python(DjangoのView)での継承、親関数の使用方法等について知識をお持ちの方いらっしゃいましたらご助力頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー