Приложение Flask не обновляется до перезапуска - PullRequest
1 голос
/ 26 сентября 2019

Я работаю над своим первым веб-приложением (Flask) и дошел до того, что развернул его.Я использую mysql для БД, sqlalchemy для orm и flask_login, чтобы помочь с аутентификацией.На внешнем сервере я использую gunicorn и nginx.

Все настроено, и я могу получить доступ к сайту.Проблема, с которой я столкнулся, заключается в том, что при вводе данных и их поиске приложение не может получить к ним постоянный доступ (т. Е. Искать введенные данные и возвращать ответ, содержащий только что введенные данные).Под последовательным пониманием я имею в виду, что я могу видеть введенные данные 1 раз из ~ 5 раз, когда я обновляю поиск.Чтобы было ясно, информация поступает в БД, и сервер возвращает флэш-сообщение о том, что данные были успешно отправлены.

Кроме того, я тестировал отправку формы, когда куки были удалены.Как и ожидалось, это дало мне ошибку CSRF.Однако впоследствии приложение не будет обновлять файлы cookie.

Обе проблемы решались самостоятельно после остановки и перезапуска gunicorn.

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

Ниже приведен код для конфигурационного файла.

**Flask config.py**    
class Config(object):
    SECRET_KEY = os.environ.get("SECRET_KEY")

    #sql alchemy info
    SQLALCHEMY_DATABASE_URI =  os.environ.get('DATABASE_URL')
    SQLALCHEMY_TRACK_MODIFICATIONS = False


class ProductionConfig(Config):
    DEBUG = False
    TESTING = False
    REMEMBER_COOKIE_HTTPONLY = True
    SESSION_PROTECTION = "strong"
    SESSION_COOKIE_SECURE = True
    REMEMBER_COOKIE_SECURE = True

class DevelopmentConfig(Config):
    DEBUG = True
    TESTING = False


**Supervisor gunicorn configuration**
[program:Ask]
command=/home/ubuntu/Ask/venv/bin/gunicorn -b localhost:8000 -w 4 Ask:app
directory=/home/ubuntu/Ask
user=ubuntu
autostart=true
autorestar=true
stopasgroup=true
killasgroup=true

Заранее спасибо.Пожалуйста, дайте мне знать, если какая-либо дополнительная информация будет полезна.

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