Найти - Пользователи
Полная версия: ООП во flask
Начало » Web » ООП во flask
1
rater

У меня есть замечательный набор функций, но когда я их объединяю в класс (класс ни от чего не наследую) и методам передаю self, то интерпретатор кричит, что передан аргумент, который не используется в методе. Подозреваю, что класс нужно от чего-то унаследовать, но не знаю от чего. Подскажите, пожалуйста, от чего, если, конечно, я верно размышляю.

f1aky
можно пример кода, а то не до конца ясно.
но похоже вам надо глядеть в сторону @staticmethod
rater

Пусть будет самый простой пример (выложил на пастебин потому что код тут не форматируется). Выскочит такая ошибка TypeError: hello() takes exactly 1 argument (0 given)

f1aky
это неправиленый подход. если хотите представленния собрать в “группу” используйте blueprints или эту батарейку.
rater

Спасибо. Немного погуглив, я сделал вывод, что фласк и его идеология никак не призывает использовать ооп и если я собираюсь использовать классы просто для группировки функций и просто по привычке, то не стоит подключать никакие батарейки. И за код в процедурном стиле меня никто пинать не будет... Я верно размышляю?

f1aky
Вы не в том контексте используете слово “ООП”. В данном случии пишите представления как хотите, функциями, или классами, это на батарейки ни коем образом не влияет и не будет влияет. Просто в флеске не принято так “групировать” представления. Для группировки используйте blueprints, это намного удобнее, чем просто классы.
Ваш код лудче записать так:
from flask import Flask, redirect, url_for
app = Flask(__name__)

@app.route("/")
def index():
return redirect(url_for('hello'))

@app.route("/hello/")
def hello():
return "Hello World!"


if __name__ == "__main__":
app.run(debug=True)
rater

f1aky, я все понял, спасибо.

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB