Flask на Azure неожиданные результаты с запросом postgresql - PullRequest
0 голосов
/ 01 марта 2019

Я работаю с Flask пару недель.У меня есть веб-приложение, работающее локально И в Azure, оба подключены к моей базе данных Postgresql, работающей в Azure.Я использую Flask-SQLAlchemy для запроса моей базы данных postgresql.

Проблема, с которой я сталкиваюсь, возникает только в приложении, работающем в Azure.Мое локальное приложение, работающее с тем же кодом, не имеет проблемы.Я не помню, чтобы у меня была эта проблема, когда я использовал базу данных sqlite3 на прошлой неделе.

Моя страница администратора показывает список всех пользователей в базе данных.Когда вы нажимаете на одно из их имен, вы попадаете на страницу их учетной записи пользователя, которая отображает информацию в таблице БД для их имени учетной записи.Это правильно отображается локально, но не отображается в веб-приложении Azure.

Вот некоторые фрагменты кода:

rout.py

@app.route("/admin")
@login_required
def admin():
if current_user.isAdmin != True:

    abort(403)

else:

    users = User.query.order_by(User.username.asc())

    return render_template('admin.html', title="Admin Portal", users=users)

admin.html

<div class="col-sm-3">

    <a  href="{{ url_for('newuser') }}" class="btn btn-outline-info mb-4" role="button">New User</a>

</div>

{% for user in users %}

    <div class="col-md-12 links">

        <a href="{{ url_for('user', username=user.username) }}">{{ user.username }}</a>

    </div>

{% endfor %}

rout.py

@app.route("/user/<username>")
@login_required
def user(username):
if current_user.isAdmin != True:

    abort(403)

else:

    user = User.query.filter_by(username=username).first()

    return render_template('user.html', user=user)

user.html

<div class="col-md-6">

    <div class="mb-3"> 

        <h2>Name</h2>

        <a>{{ user.username }}</a>

    </div>

    <div class="mb-3">

        <h2>Email</h2>

        <a>{{ user.email }}</a>

    </div>

    <div class="mb-3">

        <h2>Admin</h2>

        <a>{{ user.isAdmin }}</a>

    </div>

</div>

Результаты Azure - https://ibb.co/wdmdWrc Локальные результаты - https://ibb.co/hdTjwbJ

Когда я нажимаю кнопку Обновить пользователя, здесь отображаются результаты в результатах URL Azure - https://ibb.co/mFK9Ts8 Локальные результаты - https://ibb.co/YWKRtvV

И снова, и локальная, и версия Azure приложения подключены к одной и той же базе данных Postgresql, размещенной в Azure.Я в недоумении, почему это может происходить?

Любое понимание было бы замечательно.

Я заметил, что на моей локальной машине установлен python 3.7.1, а в Azure - 3.6.4.4.Azure не может обновиться до более новой версии.Я установил 3.6.4 на другой компьютер, установил все зависимости и запустил приложение, и оно все нормально загружает ... Я в недоумении.Я говорил с некоторыми разработчиками на моей работе (если они не используют Python), и они тоже не уверены.Мне бы очень хотелось помочь здесь.

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