Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.

69/145

Počítačové sítě a komunikační technika:
Harmonická analýza
Harmonická analýza -- složky
Harmonická analýza -- cvičení
Amplitudová modulace
Frekvenční modulace
Vzorkování
Aliasing
Kvantování
Číslicové zpracování signálů
Komunikace pomocí optických vláken I
Komunikace pomocí optických vláken II
Komunikace pomocí optických vláken III
Komunikace pomocí optických vláken IV
Optické zdroje a detektory
Metalické vedení -- primární a sekundární parametry
Metalické vedení -- zakončovací impedance
Stojaté vlnění
Šíření elektromagnetických vln
Parametry antén
Antény
Zdrojové kódování
Ztrátová komprese
Běžně používané souborové formáty
Formát kontejner kodek
Kanálové kódování
Multiplexování
Komunikační model, vrstvy, TCP/IP I
Komunikační model, vrstvy, TCP/IP II
IP adresa
DNS a WHOIS
DNS a WHOIS -- videoukázka
Protokoly TCP a UDP
Vrstvy Internetu — videoukázka
Služby Internetu
E-mail
Šifrování a elektronický podpis I
Šifrování a elektronický podpis II
Šifrování a elektronický podpis — videoukázka
Kódování textu
Kódování čísel
Úvod do Linuxu
Zpracování příkazového řádku
Základní příkazy
Přístupová práva
Vstupy, výstupy, přesměrování
Procesy
Procesy bez přihlášení
Počáteční nastavení
Základy skriptování
Shell -- test
Instalace software a nastavení sítě
Secure Shell I
Secure Shell II
Webový server
Python jako motor webu -- CGI
Python jako motor webu -- formuláře
Python jako motor webu -- Bottle I
Python jako motor webu -- Bottle II
Bottle -- příklad
Malý poštovní server

PSK3-16

Název školy: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3
Autor: Ing. Marek Nožka
Anotace: Předávání dat webové aplikaci -- webové formuláře
Vzdělávací oblast: Informační a komunikační technologie
Předmět: Počítačové sítě a komunikační technika (PSK)
Tematická oblast: Operační systém Linux/Unix
Výsledky vzdělávání: Žák vytvoří webový formulář a odešle ho webové aplikaci
Klíčová slova: Linux, Unix, Apache, Python, CGI
Druh učebního materiálu: Online vzdělávací materiál
Typ vzdělávání: Střední vzdělávání, 4. ročník, technické lyceum
Ověřeno: VOŠ a SPŠE Olomouc; Třída: 4L
Zdroj: Vlastní poznámky, Vilém Vychodil: Linux Příručka českého uživatele

Python jako motor webu -- formuláře

Obsah:

  1. Formuláře
  2. GET a POST
  3. Příklad v Pythonu
  4. Odkazy

Formuláře

Webovému serveru lze s požadavkem o obsah (stránku) zaslat také parametry, volby. Data lze předat pomocí html formulářů. Jde tedy o html značky <form> a <input>.

<form>
 <p>
    <input type="text" name="vstup" value="hodnota" />
    <input type="checkbox" name="anone" /> Ano nebo ne
 </p><p>
     <input type="submit" name="tlac" value="Ano"/>
     <input type="submit" name="tlac" value="Ne"/>
 </p>   
</form>

`--> stáhnout

Ano nebo ne

GET a POST

GET a POST jsou dvě základní metody protokolu http. Metoda GET ukládá data to URL. Proto je následující heslo po stisknutí entru viditelné v adresním řádku prohlížeče.

<form method="get">
    <input type="password" name="vstup" value="" />
</form>

`--> stáhnout

Z toho důvodu data, která chceme skrýt nebo data, která jsou příliš objemná zasíláme pomocí metody POST.

<form method="post">
    <input type="password" name="vstup" value="" />
</form>

`--> stáhnout

Poznámka: To, že data nejsou na první pohled vidět neznamená, že by putovala sítí šifrovaně. Jsou pouze skrytá, ale ne zabezpečená.

Příklad v Pythonu

Python disponuje modulem CGI, pomocí kterého lze jednoduše přebírat parametry zaslané skriptu, bez ohledu na to, zda byla použita metoda GET nebo POST. Základem je objekt FieldStorage.

#!/usr/bin/python
# -*- coding: utf8 -*-

import cgi

print "Content-Type: text/html; Charset=utf-8;\n"

print "<h1>Funguje mi to!!! Huráááá!!!</h1>"

print """
<h1>Formulář, co ho odesílám</h1>
<form method="get">
 <p>
    <input type="text" name="vstup" value="hodnota" />
    <input type="checkbox" name="anone" /> Ano nebo ne
 </p><p>
    <input type="submit" name="odeslat" />
 </p>   
</form>

<h1>Data, která jsem dostal</h1>
"""

# načtu data odeslané pomocí formuláře
data = cgi.FieldStorage()

try:
    print "<p>vstup:",data["vstup"].value ,"</p>"
except:
    print """<p style="color:red;">Nedostal jsem data.</p>"""

# tento způsob je trošku bezpečnější...

print '''
<h2>Nebo...</h2>
<p>vstup:,
'''
print "Vstup:", data.getvalue('vstup') 

print '''</p> 
<pre>
'''
for k in data.keys():
    print k,'=', data[k].value
print '\n</pre>'

`--> stáhnout


Odkazy

| navigace |

Licence Creative Commons Valid XHTML 1.0 Strict Valid CSS! Antispam.er.cz Blog: Tlapicka.net