Из-за моих ограничений на работе мне приходится размещать свое веб-приложение на IIS 7.5.
Я настроил IIS для обслуживания приложения через wfastcgi.py.
Проблема в том, что форма входа выдает ошибку HTTP 500 в IIS при нажатии на кнопке входа. Сайт загружается без проблем. Кроме того, код работает отлично, когда я запускаю его на сервере разработки Flask.
У меня есть расширенная версия кода с доступом к базе данных sqlite.Мне удалось сузить проблему до части создания сеанса входа в систему.
Я не уверен, связана ли проблема с тем, как IIS обрабатывает POST и GET запросы с wfastcgi.py или что-то еще.
Вот упрощенная версия кода, которая выдает ту же ошибку:
ОБНОВЛЕНИЕ: функции просмотра изменены на правильное обратное перенаправление.
import wiw_ad_controller as parser
import sys
from flask import Flask, flash, render_template, redirect, url_for, request, session, abort
import os
app = Flask(__name__)
@app.route('/')
@app.route('/index', methods=['GET', 'POST'])
def index():
if not session.get('logged_in'):
return render_template('login.html')
else:
return render_template('index.html')
@app.route('/login', methods=['POST'])
def login():
if request.form['username'] == 'admin' and request.form['password'] == 'admin':
session['logged_in'] = True
flash("Login was successfull")
else:
flash("Wrong password!")
return redirect(url_for('index'))
@app.route('/search', methods=['GET','POST'])
def lookup_data():
if (session.get('logged_in')==True):
if request.method == 'POST' or request.method == 'GET':
if (request.form['gpn'] and request.form['gpn'].isdigit()):
#code removed - not needed
return render_template('fetched_data.html', user_wiw=user_wiw, user_ad=user_ad)
else:
flash('Wrong ID')
return index()
return redirect(url_for('index'))
@app.route("/logout")
def logout():
session['logged_in'] = False
return redirect(url_for('index'))
@app.errorhandler(500)
def internal_error(exception):
app.logger.exception(exception)
return render_template('500.html'), 500
@app.errorhandler(404)
def internal_error(exception):
app.logger.exception(exception)
return render_template('404.html'), 404
if __name__ == '__main__':
app.secret_key=os.urandom(12)
app.run(debug=True)
Подробнее здесь: https://stackoverflow.com/questions/318 ... ror-on-iis
Форма входа в Python/Flask выдает ошибку 500 в IIS ⇐ Python
Программы на Python
-
Anonymous
1735214013
Anonymous
Из-за моих ограничений на работе мне приходится размещать свое веб-приложение на [b]IIS 7.5[/b].
Я настроил IIS для обслуживания приложения через [b]wfastcgi.py[/b].
Проблема в том, что форма входа выдает ошибку [b]HTTP 500[/b] в IIS при нажатии на кнопке входа. Сайт загружается без проблем. Кроме того, код работает отлично, когда я запускаю его на сервере разработки Flask.
У меня есть расширенная версия кода с доступом к базе данных sqlite.Мне удалось сузить проблему до части создания сеанса входа в систему.
Я не уверен, связана ли проблема с тем, как IIS обрабатывает POST и GET запросы с wfastcgi.py или что-то еще.
Вот упрощенная версия кода, которая выдает ту же ошибку:
[b]ОБНОВЛЕНИЕ[/b]: функции просмотра изменены на правильное обратное перенаправление.
import wiw_ad_controller as parser
import sys
from flask import Flask, flash, render_template, redirect, url_for, request, session, abort
import os
app = Flask(__name__)
@app.route('/')
@app.route('/index', methods=['GET', 'POST'])
def index():
if not session.get('logged_in'):
return render_template('login.html')
else:
return render_template('index.html')
@app.route('/login', methods=['POST'])
def login():
if request.form['username'] == 'admin' and request.form['password'] == 'admin':
session['logged_in'] = True
flash("Login was successfull")
else:
flash("Wrong password!")
return redirect(url_for('index'))
@app.route('/search', methods=['GET','POST'])
def lookup_data():
if (session.get('logged_in')==True):
if request.method == 'POST' or request.method == 'GET':
if (request.form['gpn'] and request.form['gpn'].isdigit()):
#code removed - not needed
return render_template('fetched_data.html', user_wiw=user_wiw, user_ad=user_ad)
else:
flash('Wrong ID')
return index()
return redirect(url_for('index'))
@app.route("/logout")
def logout():
session['logged_in'] = False
return redirect(url_for('index'))
@app.errorhandler(500)
def internal_error(exception):
app.logger.exception(exception)
return render_template('500.html'), 500
@app.errorhandler(404)
def internal_error(exception):
app.logger.exception(exception)
return render_template('404.html'), 404
if __name__ == '__main__':
app.secret_key=os.urandom(12)
app.run(debug=True)
Подробнее здесь: [url]https://stackoverflow.com/questions/31804800/python-flask-login-form-throws-500-error-on-iis[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия