2016-09-29 1 views
5

Я получаю предупреждение каждый раз, когда использую Flask Security.FlaskWTFDeprecationWarning с Flask_Security

FlaskWTFDeprecationWarning: "flask_wtf.Form" has been renamed to "FlaskForm" 
and will be removed in 1.0. 

Это проблема с защитой от флагов или что-то, что я мог бы назвать собой? Я использую == Колба-Security 1.7.5

from flask_security import current_user, login_required, RoleMixin, Security, \ 
SQLAlchemyUserDatastore, UserMixin, utils 

Я, кажется, не импортировать Flask_WTF непосредственно.

+0

Короткий ответ: это Flask-Security, но вы можете обратиться к себе, обновив библиотеку. Не стесняйтесь комментировать мой ответ ниже, если что-то неясно. –

ответ

7

Похоже, что 1.7.5 является последней версией Flask-Security. И последняя версия Flask-WTF равна 0,13 (убедитесь, что вы установили ее, установив pip freeze).

Поскольку вы не используете Flask-WTF напрямую, проблема не в вашем коде. Проблема исходит из самого кода Flask-Security, which has Flask-WTF as a dependency.

Путь, который импортирует Колба-Security класс Form от Колба-WTF устарела, так что вы видите ошибку, когда эта линия работает:

from flask_wtf import Form as BaseForm 

https://github.com/mattupstate/flask-security/blob/e01cd63a214969cf8e4ee800d398e1c43b460c7f/flask_security/forms.py#L15

Вы можете либо открыть уже вопрос о Колба-безопасности (чувствовать себя свободно ссылаться на этот вопрос) или отправить запрос на себя тянуть автору обновляя эту строку на не осуждается импорта

from flask_wtf import FlaskForm as BaseForm 

Перед отправкой обязательно выполняйте тесты до/после.

Для немного больше контекста, вы можете использовать GIT вину, чтобы увидеть, что обязательство последнего изменения устаревшего импорт строки в Колба-Security (6f68f1d) 15 августа 2013 г.

Проделав то же самое на Колба-WTF , вы можете видеть, что стирание было введено в 42cc475 от 30 июня 2016 года.

+0

Я должен указать, что у вас также есть различные варианты просто подавления предупреждений без изменения флай-безопасности (например, http://stackoverflow.com/questions/14463277/how-to-disable-python-warnings). Тем не менее, обновление помогает всему сообществу, поэтому каждый не должен подавлять одно и то же предупреждение. –

4

Мой ответ не, свойственный вашей точной ситуации. Тем не менее, то же самое предупреждение возникает, когда мы закодировать это:

from flask_wtf import Form 

Чтобы устранить эту проблему, вы должны использовать FlaskForm вместо Form:

from flask_wtf import FlaskForm 

Это выделяется на GitHub, и я просто хочу поделитесь этим решением, чтобы помочь любому возможному исполнителю, который может столкнуться с ним в будущем.