NOVINKA: Začni v IT jako webmaster s komplexním akreditovaným online kurzem Tvůrce WWW stránek. Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 4 - Kalkulačka v Django frameworku

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
Stanislav Hrabovský:14.5.2018 11:40

Jsem velice rád, že tu někdo dělá Django. Těším se na další díl... DĚKUJI!

Avatar
Tomáš Kampán:18.8.2018 10:51

Autor to sice uvádí s vykřičníkem, ale na základě mých zkušeností to ještě zopakuji: ukládejte v UTF-8 a bacha na editor PSPad, který i po zvolení Formát>UTF-8 ukládá (občas) s kódováním produkujícím chybu.
Při uložení editorem Sublime Text 3 vše OK.

Avatar
Antonín Martykán:14.7.2021 16:08

Začíná mě z toho bolet hlava :-D
Jeden dotaz: soubor calculator/urls.py si importuje views a zavolá metodu kalkulacka. Ovšem ve views je metoda kalkulacka definovaná s parametrem request, který při jejím volání uveden není - jakým způsobem se předá tento parametr? A jak je možné, že pomocí dot-notation se skrze něj dostaneme k metodě request.POST, která je součástí HTML template? :-O

Avatar
Richard Tichý
Tvůrce
Avatar
Odpovídá na Antonín Martykán
Richard Tichý:7.9.2021 0:48

V urls.py nevoláme tu metodu, jen ji jakožto objekt předáváme jako parametr funkci path.
To druhé nechápu?

Odpovědět
Když už něco rozděláš, měl bys to dokončit.
Avatar
Tomáš Balbinder:17.5.2022 22:15

na konci malo vysvetleni jak vlastne templates funguji. a byla tam chyba v kodu ale to se pak vyresilo. Tohle taky neni uplne 100 %?

if (float(reques­t.POST["b"]) == 0 and request.POST["o­perator"] == "/"):
error_msg = "Chyba dělení nulou"

Avatar
Filip Mazúr
Člen
Avatar
Filip Mazúr:24.1.2023 13:34

Nefunguje mi ani můj kod , ani ten který jsem stáhnul :D

Avatar
Anton Glavatchi:24.3.2023 9:39

Moc pěkně napsaný článek, jen mi chybí podrobnější vysvětlení HTML šablony nebo případný odkaz na jiný článek rozebírající tuto problematiku.

Avatar
Vašek Doškář:13.6.2023 9:19

Stačí ve View jednoduše změnit název html šablony z calculator/kal­kulacka.html na samotné kalkulacka.html a vše bude fungovat :)

def kalkulacka(request):
    error_msg = None
    vysledek = None
    if request.method == "POST":
        try:
            float(request.POST["a"])
            float(request.POST["b"])
        except:
            error_msg = "A nebo B není číslo!"
            return render(request, "kalkulacka.html", dict(error_msg=error_msg, vysledek=vysledek))

        if request.POST["operator"] == "/" and float(request.POST["b"]) == 0:
            error_msg = "Chyba dělení nulou"
            return render(request, "kalkulacka.html", dict(error_msg=error_msg, vysledek=vysledek))
        if request.POST["operator"] == "+":
            vysledek = models.secti(request.POST["a"], request.POST["b"])
        elif request.POST["operator"] == "-":
            vysledek = models.odecti(request.POST["a"], request.POST["b"])
        elif request.POST["operator"] == "/":
            vysledek = models.vydel(request.POST["a"], request.POST["b"])
        elif request.POST["operator"] == "*":
            vysledek = models.vynasob(request.POST["a"], request.POST["b"])
        else:
            error_msg = "Něco se pokazilo :("
            return render(request, "kalkulacka.html", dict(error_msg=error_msg, vysledek=vysledek))
    return render(request, "kalkulacka.html", dict(error_msg=error_msg, vysledek=vysledek))
Avatar
Jaroslav Kučera:15.6.2023 18:10

Popis všech použitých metod a propojení si tedy máme vyzkoumat sami ?

Avatar
Tim bl
Člen
Avatar
Tim bl:6.8.2023 13:16

Proč se mi furt spousti aplikace 'ahoj_svete' ?

Nejnovější komentáře jsou na konci poslední stránky.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 37.