diff --git a/dzien_02/www/aplikacja_web.py b/dzien_02/www/aplikacja_web.py index 86e2a36..fed17d9 100644 --- a/dzien_02/www/aplikacja_web.py +++ b/dzien_02/www/aplikacja_web.py @@ -11,5 +11,9 @@ def index(): def druga(): return render_template('plik.html') +@app.route("/param/") +def plik(id): + return f"Podano id: {id}" + if __name__ == "__main__": app.run(debug=True) \ No newline at end of file diff --git a/dzien_02/www/aplikacja_web_01.py b/dzien_02/www/aplikacja_web_01.py new file mode 100644 index 0000000..c5d5ee4 --- /dev/null +++ b/dzien_02/www/aplikacja_web_01.py @@ -0,0 +1,52 @@ +""" +localhost:5000/kalkulator&a=5?b=6?dzialanie=mnozenie + +2. Parametry w Query String (request.args) +Jeśli adres zawiera znak zapytania ?, parametry nie są częścią ścieżki routingu. Do ich odczytu używamy obiektu request. + +Python +from flask import Flask, request + +app = Flask(__name__) + +@app.route('/szukaj') +def szukaj(): + # Pobieramy parametry za pomocą request.args.get() + produkt = request.args.get('produkt') + strona = request.args.get('strona', default=1, type=int) + + return f"Szukasz: {produkt} na stronie {strona}" +request.args.get('klucz'): Zwróci None, jeśli klucza nie ma w adresie (bezpieczniejsze niż słownikowe request.args['klucz'], które wyrzuci błąd 400). + +default=: Pozwala ustawić domyślną wartość, jeśli użytkownik jej nie poda. +""" +from flask import Flask, render_template, request + +app = Flask("Adam") + + +@app.route("/") +def index(): + return '

Kalkulator

' + +@app.route("/kalkulator/") +def kalkulator(): + rodz_oper = ('dod', 'odej', "mnoz", ' dziel') + # not "string" in rodz_oper + dane = request.args + # /?ala=kota&t=45&tg=k45 + #a,b, dzialanie + # kalkulator/?a=3&b=5&c=6&dzialanie=cos + zm_a = request.args.get('a', default=False) + zm_b = request.args.get('b', default=False) + dzialanie = request.args.get('dzialanie', default=False) + if zm_a is False or zm_b is False or dzialanie is False: + return "

Error - złe parametry.

" + # sprawdzamy, czy działanie jest poprawne + if dzialanie == 'dod': + wynik = int(zm_a) + int(zm_b) + return f'Wynikiem operacji dodawania jest: {zm_a} + {zm_b} = {wynik}' + return f"

{zm_a} / {dane} - Wpisz odpowiednio adres

" + +if __name__ == "__main__": + app.run(debug=True) \ No newline at end of file