Уведомления

Группа в Telegram: @pythonsu

#1 Июль 7, 2013 21:38:04

rater
Зарегистрирован: 2013-05-17
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП во flask

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

Офлайн

#2 Июль 7, 2013 21:59:41

f1aky
Зарегистрирован: 2013-01-26
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП во flask

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

Офлайн

#3 Июль 7, 2013 22:42:26

rater
Зарегистрирован: 2013-05-17
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП во flask

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

Офлайн

#4 Июль 7, 2013 23:33:00

f1aky
Зарегистрирован: 2013-01-26
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП во flask

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

Отредактировано f1aky (Июль 7, 2013 23:33:42)

Офлайн

#5 Июль 8, 2013 00:17:45

rater
Зарегистрирован: 2013-05-17
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП во flask

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

Офлайн

#6 Июль 8, 2013 00:29:39

f1aky
Зарегистрирован: 2013-01-26
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП во flask

Вы не в том контексте используете слово “ООП”. В данном случии пишите представления как хотите, функциями, или классами, это на батарейки ни коем образом не влияет и не будет влияет. Просто в флеске не принято так “групировать” представления. Для группировки используйте 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)

Офлайн

#7 Июль 8, 2013 00:41:12

rater
Зарегистрирован: 2013-05-17
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП во flask

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

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version