216
Rozdział 5.
Witamy na stronie internetowej
search4letters!
Użyj tego formularza, aby określić
parametry wyszukiwania:
F
raza:
Litery:
Gdy będziesz gotów, kliknij ten przycisk:
aeiou
Zrób to!
Oto Twoje wyniki:
Podałeś następujące dane:
Fraza:
Litery:
Gdy we frazie „mierni” wyszuka się litery
„aeiou”, zwrócone zostaną następujące
wyniki:
aeiou
mierni
{ ‘e’, ‘i’ }
To tylko HTML
Szablony mają związek ze stronami WWW
Nasza aplikacja WWW powinna renderować dwie strony WWW i mamy teraz dwa szablony, które
nam w tym pomogą. Obydwa szablony dziedziczą po szablonie bazowym, otrzymując w ten sposób
wygląd i sposób działania właściwy dla tego szablonu. Wszystko, co musimy teraz zrobić, ogranicza się
do wyrenderowania naszych stron.
Zanim zobaczymy, jak framework Flask (wraz z silnikiem Jinja2) renderuje strony, spójrzmy raz
jeszcze na nasze „serwetkowe specyfikacje” zestawione z kodem tworzącym odpowiednie szablony.
Zauważ, jak kod HTML umieszczony wewnątrz dyrektywy
{% block %}
Jinja2 dokładnie pasuje do
naszkicowanego ręcznie projektu strony. Brakuje tu już tylko właściwie tytułu strony, który pojawi się
podczas renderowania w miejscu zajmowanym przez dyrektywę
{{ the_title }}
. Traktuj każdą
nazwę umieszczoną w podwójnych nawiasach klamrowych jak argument szablonu.
{% extends ‘base.html’ %}
{% block body %}
<h2>{{ the_title }} </h2>
<form method=’POST’ action=’/search4’>
<table>
<p> Użyj tego formularza, aby określić parametry wyszukiwania:</p>
<tr><td>Fraza:</td><td><input name=’phrase’ type=’TEXT’
width=’60’></td></tr>
<tr><td>Litery:</td><td><input name=’letters’ type=’TEXT’
value=’aeiou’></td></tr>
</table>
<p> Gdy będziesz gotów, kliknij ten przycisk:</p>
<p><input value=’Zrób to!’ type=’SUBMIT’></p>
</form>
{% endblock %}
{% extends ‘base.html’ %}
{% block body %}
<h2>{{ the_title }} </h2>
<p>Podałeś następujące dane:</p>
<table>
<tr><td>Fraza:</td><td>{{ the_phrase }} </td></tr>
<tr><td>Litery:</td><td>{{ the_letters }} </td></tr>
</table>
<p>Gdy we frazie ”{{ the_phrase }}” wyszuka się litery ”{{ the_
letters }}”, zwrócone zostaną następujące wyniki:</p>
<h3>{{ the_results }} </h3>
{% endblock %}
Nie zapomnij
o tych
dodatkowych
argumentach.
Pobierz te szablony
(i arkusze stylów) spod
adresu ftp://ftp.helion.pl/
przyklady/pytrg2.zip.
Get Python Rusz głową! Wydanie II now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.