Не удалось связаться с веб-сервером Flask - PullRequest
0 голосов
/ 14 марта 2019

Это мой тестовый код, работающий на Visual studio 2017, имя файла test:

from flask import Flask, request      #import main Flask class and request object
from test import app

app = Flask(__name__) #create the Flask app

@app.route('/query-example')
def query_example():
    return 'Todo...'

@app.route('/form-example')
def formexample():
    return 'Todo...'

@app.route('/json-example')
def jsonexample():
    return 'Todo...'

if __name__ == '__main__':
    app.run(debug=True, port=5000) #run app in debug mode on port 5000

Но когда я запускаю его в Visual studio 2017 и вхожу по этому маршруту "http://127.0.0.1:5000/json-example" в браузере Chrome, я всегда получаю это сообщение об ошибке.

"404 Не найдено" Запрошенный URL не найден на сервере. Если вы ввели URL вручную проверьте свою орфографию и попробуйте снова.

Я ученик, попробовал следующую статью: https://scotch.io/bar-talk/processing-incoming-request-data-in-flask

  • Python: 3,6
  • Колба: 0,12,4
  • пункт: 18,1

Раньше я получал ответное сообщение с тем же кодом, но после обновления колбы до 0.12.4 она не работает, я думаю, что-то изменилось. Я не могу отладить точную проблему.

- Обновление -

Хорошо, после обновления версии колбы до 1.0.2, но по-прежнему не удается связаться с веб-сервером по URL: http://127.0.0.1:5000/json-example. Пожалуйста, посмотрите скриншот ниже.

enter image description here

Я получаю ошибку 404, не найденную:

Не найдено

Запрошенный URL не найден на сервере. Если вы ввели URL вручную проверьте свою орфографию и попробуйте снова.

Ответы [ 2 ]

1 голос
/ 17 марта 2019

Документы предполагают, что вы должны убедиться, что файлы .env & .flaskenv не мешают работе. (Скорее всего, нет.)

затенения

Вам действительно нужно избегать затенения одного символа другим.

Пожалуйста, не называйте ваш модуль test, так как Python поставляется с системной библиотекой с таким именем. Вместо этого вы можете использовать test1, чтобы избежать ненужной путаницы.

Пожалуйста, переименуйте вашу глобальную переменную в app_, так как ваш модуль имеет файл app.py.

корневой URL

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

@app_.route('/')
def root():
    return '<h1>top level</h1>'

версия

Запустите текущую версию колбы, пожалуйста. Гораздо лучше сообщать о проблемах с текущим кодом, чем с кодом downrev.

выполнение

Вместо прямого вызова python app_.run(...), вместо этого запустите flask. Используйте export или env, в зависимости от того, что вы предпочитаете:

$ export FLASK_APP=test1 FLASK_ENV=development
$ env    FLASK_APP=test1 FLASK_ENV=development flask run --port=5000

Это включает режим отладки, который должен помочь вам разобраться в проблемах маршрутизации. Плюс, перезагрузка после редактирования довольно удобна. Ключ в том, что вместо запуска python вы запускаете flask, который, в свою очередь, запускает python.

0 голосов
/ 05 апреля 2019

Пока я занимался поиском и устранением неисправностей, я заметил, что вышеупомянутый код работает в нулевом модуле Raspberry Pi с той же версией Python и колбы. Но он все еще не работает в visual studio на windows 7. Возможно, с моей visual studio могут возникнуть некоторые проблемы. Я буду деинсталлировать это, переустановить это снова. Но да, моя проблема решена на данный момент. Спасибо всем за ответы.

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