This commit is contained in:
2026-03-18 13:16:17 +01:00
parent 6e7e43e386
commit ef4079219d
2 changed files with 56 additions and 0 deletions

View File

@@ -11,5 +11,9 @@ def index():
def druga(): def druga():
return render_template('plik.html') return render_template('plik.html')
@app.route("/param/<int:id>")
def plik(id):
return f"Podano id: {id}"
if __name__ == "__main__": if __name__ == "__main__":
app.run(debug=True) app.run(debug=True)

View File

@@ -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 '<h2>Kalkulator</h2>'
@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 "<h4>Error - złe parametry.</h4>"
# 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"<h2>{zm_a} / {dane} - Wpisz odpowiednio adres</h2>"
if __name__ == "__main__":
app.run(debug=True)