С недавнего времени я, лелея надежду однажды в будущем стать настоящим питоньеро, изучаю Python по книге. В данный момент я на этапе главы об обработчиках ошибок. Есть код веб-приложения
from flask import Flask, render_template, request, escape from mod import sl from DBcm import UseDatabase from checker import cl_in app = Flask(__name__) app.config['dbconfig'] = {'host': '192.168.100.141', 'user': 'vsu', 'password': 'vsp', 'database': 'vsdb',} def log_request(req: 'flask_request', res: str) -> None: with UseDatabase(app.config['dbconfig']) as cursor: SQL = """insert into log (phrase, letters, ip, browser_string, results) values (%s, %s, %s, %s, %s)""" cursor.execute(SQL, (req.form['phrase'], req.form['letters'], req.remote_addr, req.user_agent.browser, res, )) @app.route('/search4', methods=['POST']) def do_search() -> str: phrase = request.form['phrase'] letters = request.form['letters'] title = 'Here are your results' results = str(sl(phrase, letters)) try: log_request(request, results) except Exception as err: print('Error : ', str(err)) return render_template('results.html', the_phrase = phrase, the_letters = letters, the_title = title, the_results = results,) @app.route('/') @app.route('/entry') def entry_page() -> 'html': return render_template('entry.html', the_title='Welcome to SL on the web') @app.route('/viewlog') @cl_in def view_log() -> 'html': with UseDatabase(app.config['dbconfig']) as cursor: SQL = """select phrase, letters, ip, browser_string, results from log""" cursor.execute(SQL) contents = cursor.fetchall() titles = ('Phrse', 'Letters', 'Remote_addr', 'User_agent', 'Results') return render_template('viewlog.html', the_title = 'View Log', the_row_titles = titles, the_data = contents, ) @app.route('/login') def do_login() -> str: session['logged_in'] = True return 'You are now logged in' @app.route('/logout') def do_logout() -> str: session.pop('logged_in') return 'You are now logged_out' app.run(debug=True)
Хотелось бы узнать. Заранее спасибо
Я же не ошибся разделом?
update: Кажется, ошибся. Перенесите тему в центр помощи