2016-08-20 6 views
1

рекомендация кажется, имеет смысл, потому что self не используется в методе, но сейчас мне любопытно:IDE рекомендует, чтобы украсить методы Джанго ОЦК с @staticmethod

  • это проглядеть ОЦК-х и пользователи должны вручную украсить каждый @staticmethod?

  • Есть ли в Django некоторый код, который автоматически делает все методы CBV статическими?

Вот скриншот того, о чем я говорю. Он использует CBV DRF, но это была та же рекомендация, когда я использовал vanilla Django CBV.

enter image description here

ответ

1

Нет, вы не должны делать это. Это методы экземпляра и должны оставаться таковыми.

Это кажется немного странным, хотя вы не используете ни одно из значений экземпляра или не вызываете какие-либо методы экземпляра там. Обычно вы ссылаетесь на аргументы URL через self.kwargs и вызываете другие методы, такие как self.get_context_data. Если вы этого не делаете, я задаюсь вопросом, действительно ли вы получаете какую-либо выгоду от использования CBV.

(На самом деле моя обычная рекомендация является то, что вы не отменяют get или post вообще,. Те, которые обычно делегируют более конкретных методов, которые более полезны для переопределения)

+0

Я не совсем уверен, что правильно предполагается, что cbv будет выглядеть так, и tbh я даже не вижу никакого преимущества в использовании cbv. Должен ли я просто использовать представления функций, пока не найду причину использования cbv? – dtgq

 Смежные вопросы

  • Нет связанных вопросов^_^