Форум сайта python.su
У меня есть замечательный набор функций, но когда я их объединяю в класс (класс ни от чего не наследую) и методам передаю self, то интерпретатор кричит, что передан аргумент, который не используется в методе. Подозреваю, что класс нужно от чего-то унаследовать, но не знаю от чего. Подскажите, пожалуйста, от чего, если, конечно, я верно размышляю.
Офлайн
можно пример кода, а то не до конца ясно.
но похоже вам надо глядеть в сторону @staticmethod
Офлайн
Пусть будет самый простой пример (выложил на пастебин потому что код тут не форматируется). Выскочит такая ошибка TypeError: hello() takes exactly 1 argument (0 given)
Офлайн
это неправиленый подход. если хотите представленния собрать в “группу” используйте blueprints или эту батарейку.
Отредактировано f1aky (Июль 7, 2013 23:33:42)
Офлайн
Спасибо. Немного погуглив, я сделал вывод, что фласк и его идеология никак не призывает использовать ооп и если я собираюсь использовать классы просто для группировки функций и просто по привычке, то не стоит подключать никакие батарейки. И за код в процедурном стиле меня никто пинать не будет... Я верно размышляю?
Офлайн
Вы не в том контексте используете слово “ООП”. В данном случии пишите представления как хотите, функциями, или классами, это на батарейки ни коем образом не влияет и не будет влияет. Просто в флеске не принято так “групировать” представления. Для группировки используйте 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)
Отредактировано f1aky (Июль 8, 2013 00:31:29)
Офлайн
f1aky, я все понял, спасибо.
Офлайн