Я продолжаю получать эту ошибку локальной переменной 'URL', на которую ссылаются до назначения - PullRequest
0 голосов
/ 16 февраля 2019

Он не запускает цикл

Изменено имя переменной URL и все еще не работает

@

app.route("/processbuy", methods=["POST"])
def processbuy():
 if request.method == "POST":
        index2 = request.form['index2']
        querystring = {"api_key":"NN2T8jrqC6UH5inDezHh"}
        payload = ""
        headers = {
            'cache-control': "no-cache",
            'Postman-Token': "d2cd69a4-e6d4-466c-88b3-0a3987b1cd7d"
        }                              
        print("dsad")
        if index2 == "Stock Market Index at Exchange: NYSE":
                url = "https://www.quandl.com/api/v3/datasets/WFE/INDEXES_NYSE.json"
                response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
                indiceData = json.loads(response.text)
                latestIndicePrices = indiceData["dataset"]["data"][0]
                indexValue = float(latestIndicePrices[5])

        else: 
                if index2 == "NASDAQ-100 Target 25 Notional Net Return Index(XNDXT25NNR)":
                    url = "https://www.quandl.com/api/v3/datasets/NASDAQOMX/XNDXT25NNR.json"
                elif index2 == "Stock Market Index at Exchange: London Stock Exchange FTSE 100":
                    url = "https://www.quandl.com/api/v3/datasets/WFE/INDEXES_LONDONSEFTSE.json"
                elif index2 == "Stock Market Index at Exchange: NYSE":
                    url = "https://www.quandl.com/api/v3/datasets/WFE/INDEXES_NYSE.json"
                response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
                print("response="+response.text)
                indiceData = json.loads(response.text)
                latestIndicePrices = indiceData["dataset"]["data"][0]
                indexValue = float(latestIndicePrices[1])
        print("dwwsw")
        token = session['oauth_token']
        customersAccount = session['fidor_customer']
        customerDetails = customersAccount['data'][0]

Когда добавляется печать после цикла, предполагается, что он будет отображатьсяпечать, но это не для меня.

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Ваша проблема в том, что переменной url никогда не может быть присвоено какое-либо значение.Причиной этого являются ваши условия if.

if condition1:
    url = "something"
else:
    if condition2:
        url = "something"
    elif condition3:
        url = "something"
    elif condition4:
        url = "something"
    else: # hypothetical
        url is undefined here # and here is your issue

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

Ifвы используете хорошую IDE, например Pycharm , она предупредит вас об этих проблемах еще до запуска кода.

0 голосов
/ 16 февраля 2019

Переменная url инициализируется только в том случае, если для index2 определено что-то

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...