Python dictionary from flask returning null

173 views Asked by At

I have created a home prediction model and currently trying to deploy it to heroku. I am using flask, javascript and html.

Everything works fine when I run it locally, but when deployed in heroku the dropdown menu of locations is empty. On checking my console on the web browser I noticed that the JS actually got the response from the flask server, but the response is null instead of a list of locations. Here is relevant codes.

    import json
    with open('columns.json', 'r') as f
    __data_columns = json.load(f)['data_columns']
    __locations= __data_columns[4:]
    def get_location_names():
      return __locations

    @app.route('/locations', methods=['GET'])
    def locations()
      response =jsonify({'locations': get_location_names()})
      return response

The result i get on print response is: locations: null how do I resolve this as columns.json contains something like this: {"data_columns": ["New york", "Washigton"]}

1

There are 1 answers

2
Danylo Baibak On

The issue can with the path to the file columns.json. You try to build in such way:

import os


with open(os.path.join(os.path.dirname(__file__), 'columns.json'), 'r') as f:
    __data_columns = json.load(f)['data_columns']
    __locations= __data_columns[4:]