Python3 флеш веб-приложение [дубликат]

Можно определить почти все функции mysql_ *, используя mysqli или PDO. Просто включите их поверх своего старого PHP-приложения, и он будет работать на PHP7. Мое решение здесь .

length : false;
}

function mysql_field_name($qlink, $offset) {
    $field = mysqli_fetch_field_direct($qlink, $offset);
    if (!is_object($field))
        return false;
    return empty($field->orgname) ? $field->name : $field->orgname;
}

function mysql_field_table($qlink, $offset) {
    $field = mysqli_fetch_field_direct($qlink, $offset);
    if (!is_object($field))
        return false;
    return empty($field->orgtable) ? $field->table : $field->orgtable;
}

function mysql_field_type($qlink, $offset) {
    $field = mysqli_fetch_field_direct($qlink, $offset);
    return is_object($field) ? $field->type : false;
}

function mysql_free_result($qlink) {
    try {
        mysqli_free_result($qlink);
    } catch (Exception $e) {
        return false;
    }
    return true;
}

83
задан Passiday 2 May 2013 в 19:04
поделиться

5 ответов

Текущий рекомендуемый способ (Flask> = 0.11) связан с утилитой командной строки flask.

http://flask.pocoo.org/docs/0.11/server/

Пример:

$ export FLASK_APP=main.py
$ export FLASK_DEBUG=1
$ python -m flask run

или в одной команде:

$ FLASK_APP=main.py FLASK_DEBUG=1 python -m flask run

Я предпочитаю python -m flask run, а не flask run, потому что предыдущий также работает с virtualenv.

Если вам нужен другой порт, чем по умолчанию (5000), добавьте опцию --port.

Пример:

$ python -m flask run --port 8080

Дополнительные опции доступны с помощью:

$ python -m flask run --help
72
ответ дан Eyal Levin 26 August 2018 в 13:56
поделиться

Чтобы достичь этого в PyCharm, установите раздел «Переменные среды» в:

PYTHONUNBUFFERED = 1; FLASK_DEBUG = 1

Для конфигураций запуска / отладки флажков

0
ответ дан blue-sky 26 August 2018 в 13:56
поделиться

В средах тестирования / разработки

Отладчик werkzeug уже имеет функцию автоматического перезапуска, которая может быть включена, выполнив одно из следующих действий:

app.run(debug=True)

или

app.debug = True

Вы также можете использовать отдельный файл конфигурации для управления всеми вашими настройками, если вам нужно. Например, я использую параметр «settings.py» с опцией «DEBUG = True».

Производственная среда

Лично я выбрал Nginx + uWSGI более, чем когда-либо.

app.config.from_object('application.settings')

Однако это не подходит для рабочей среды. Apache + mod_wsgi по нескольким причинам производительности, а также параметры конфигурации. Параметр touch-reload позволяет указать файл / папку, которая заставит приложение uWSGI перезагрузить недавно развернутое фляжное приложение.

Например, ваш скрипт обновления вытаскивает ваш новый изменяется вниз и затрагивает файл reload_me.txt. Очевидно, что ваш скрипт uWSGI ini (который поддерживается Supervisord) имеет эту строку где-то:

touch-reload = '/opt/virtual_environments/application/reload_me.txt'

Надеюсь, это поможет!

31
ответ дан Ewan 26 August 2018 в 13:56
поделиться

Если вы используете uwsgi, посмотрите на параметр автоматической перезагрузки python:

uwsgi --py-autoreload 1

Пример uwsgi-dev-example.ini:

[uwsgi]
socket = 127.0.0.1:5000
master = true
virtualenv = /Users/xxxx/.virtualenvs/sites_env
chdir = /Users/xxx/site_root
module = site_module:register_debug_server()
callable = app
uid = myuser
chmod-socket = 660
log-date = true
workers = 1
py-autoreload = 1

site_root / __ init__ .py

def register_debug_server():
    from werkzeug.debug import DebuggedApplication

    app = Flask(__name__)
    app.debug = True
    app = DebuggedApplication(app, evalex=True)
    return app

Затем запустите:

uwsgi --ini uwsgi-dev-example.ini

Примечание: этот пример также позволяет отладчику.

Я пошел по этому маршруту, чтобы имитировать производство как близко насколько это возможно, с настройкой nginx. Просто запустив приложение для флэков, он встроен в веб-сервер за nginx, это приведет к ошибке с плохим шлюзом.

19
ответ дан Kyle James Walker 26 August 2018 в 13:56
поделиться

Если вы говорите о средах тестирования / dev, просто используйте опцию debug. Он будет автоматически перезагружать флеш-приложение, когда произойдет смена кода.

app.run(debug=True)

Или, из оболочки:

$ export FLASK_DEBUG=1
$ flask run

http: //flask.pocoo .org / Docs / Быстрый старт / # отладочный режим

135
ответ дан Neil 26 August 2018 в 13:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: