Flask. TypeError: 1 required positional argument: 'self' - Python

Узнай цену своей работы

Формулировка задачи:

Привет. Использую flask для своей веб службы, написал класс, который имеет примерно одинаковые методы. Пример:
Листинг программы
  1. # @staticmethod
  2. @app.route('/weather/name', methods=['GET'])
  3. def get_current_weather_data_by_name(self):
  4. # Получить погоду по названию населенного пункта
  5. city = request.args.get('city', type=str)
  6. units = request.args.get('units', type=str)
  7. if units not in [None, 'imperial', 'metric']:
  8. return jsonify({'error': 404})
  9. if city[len(city) - 3:len(city)].upper() != ",RU":
  10. city = city.rstrip() + ",RU" # fixme !
  11. data = owm.get_current_weather_data_by_name(city, units) # получить данные с openweathermap
  12. if len(data) == 0:
  13. return "ErrorType: No data found in data base"
  14. else:
  15. result = collect_result_current_weather(data) # собрать результат/выбрать нужные параметры
  16. return jsonify({"weather": result})
Если не передавать функции get_current_weather_data_by_name параметр self, все нормально выполняется, возвращает данные о погоде в формате JSON. Но если передать метод self (а я бы хотел использовать его здесь), то выводится ошибка:

TypeError: get_current_weather_data_by_name() missing 1 required positional argument: 'self'.

Подскажите, пожалуйста, в чем может быть проблема.

Решение задачи: «Flask. TypeError: 1 required positional argument: 'self'»

textual
Листинг программы
  1. @app.route('/weather/<name>', methods=['GET'])
  2.     def get_current_weather_data_by_name(name):

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут