Foundation Dynamic Web Pages With Python Create Dynamic Web Pages With Django and Flask 1st Ed David Ashley PDF Download
Foundation Dynamic Web Pages With Python Create Dynamic Web Pages With Django and Flask 1st Ed David Ashley PDF Download
https://ebookbell.com/product/foundation-dynamic-web-pages-with-
python-create-dynamic-web-pages-with-django-and-flask-1st-ed-
david-ashley-22417576
https://ebookbell.com/product/foundations-of-dynamic-economic-
analysis-optimal-control-theory-and-applications-1st-edition-michael-
r-caputo-54577672
https://ebookbell.com/product/attracted-to-conflict-dynamic-
foundations-of-destructive-social-relations-dynamic-foundations-of-
destructive-social-relations-1st-edition-robin-r-vallacher-4252206
https://ebookbell.com/product/aci-3513r04-foundations-for-dynamic-
equipment-reapproved-2011-aci-committee-351-5033492
https://ebookbell.com/product/soil-dynamics-and-foundation-modeling-
offshore-and-earthquake-engineering-1st-edition-junbo-jia-auth-6840756
3d Motion Of Rigid Bodies A Foundation For Robot Dynamics Analysis 1st
Ed Ernesto Olgun Daz
https://ebookbell.com/product/3d-motion-of-rigid-bodies-a-foundation-
for-robot-dynamics-analysis-1st-ed-ernesto-olgun-daz-7321512
https://ebookbell.com/product/proceedings-of-
geoshanghai-2018-international-conference-advances-in-soil-dynamics-
and-foundation-engineering-1st-ed-tong-qiu-7328026
https://ebookbell.com/product/foundations-in-grammatical-evolution-
for-dynamic-environments-1st-edition-ian-dempsey-4193626
https://ebookbell.com/product/foundations-of-complex-systems-
nonlinear-dynamic-statistical-physics-information-and-prediction-ws-
gregoire-nicolis-1014716
https://ebookbell.com/product/the-dynamic-self-in-psychoanalysis-
neuroscientific-foundations-and-clinical-cases-1st-edition-
spagnolo-34759468
Foundation
Dynamic Web
Pages with Python
Create Dynamic Web Pages with
Django and Flask
—
David Ashley
Foundation Dynamic
Web Pages with
Python
Create Dynamic Web Pages
with Django and Flask
David Ashley
Foundation Dynamic Web Pages with Python
David Ashley
Austin, TX, USA
v
Table of Contents
Creating Tables����������������������������������������������������������������������������������������������35
Creating Forms����������������������������������������������������������������������������������������������36
Embedding Content Tags�������������������������������������������������������������������������������37
CSS Elements������������������������������������������������������������������������������������������������������38
CSS Selectors������������������������������������������������������������������������������������������������40
Border and Background Properties���������������������������������������������������������������43
Box Model Properties������������������������������������������������������������������������������������46
Text Properties�����������������������������������������������������������������������������������������������47
Transition, Animation, and Transform Properties�������������������������������������������48
Other Properties��������������������������������������������������������������������������������������������50
Organizing HTML and CSS Documents���������������������������������������������������������������50
Simple HTML and CSS Pages������������������������������������������������������������������������52
A Complete HTML and CSS Page������������������������������������������������������������������������57
Creating a Library of HTML Page Segments�������������������������������������������������������65
Summary������������������������������������������������������������������������������������������������������������69
vi
Table of Contents
vii
Table of Contents
Chapter 6: Django�����������������������������������������������������������������������������183
Django and WSGI�����������������������������������������������������������������������������������������������183
Configuring and Testing Django������������������������������������������������������������������������185
Django and Templates���������������������������������������������������������������������������������������191
Using a Database with Django��������������������������������������������������������������������������198
Summary����������������������������������������������������������������������������������������������������������199
Index�������������������������������������������������������������������������������������������������209
viii
About the Author
David Ashley is a technical writer for
SkillSoft where he specializes in open source,
particularly Linux. As a member of the Linux
Fedora documentation team he recently led
the Libvirt project documentation and wrote
the Python programs included with it. He
has developed in 20 different programming
languages during his 30 years as a software
developer and IT consultant, including
more than 18 years at IBM and 12 years with
American Airlines.
ix
About the Technical Reviewer
Akshay Saini is Mumbai-based tech book
reviewer with several years’ experience in IT as
a software developer specializing in Python.
Recently he has developed new product
solutions for the media and entertainment
industry for clients such as Olympic
Broadcasting Services (OBS), ViacomCBS,
and Sportcast.
Reviewing and writing a tech book has
always been on his bucket list, and with this book it became a reality.
He is a tech lover and spends much time developing software to build a
better future for society.
xi
Acknowledgments
I would like to acknowledge the people who contributed their time and
efforts to this book. There are just too many to list here, but I would
especially like to acknowledge all the people at Apress who helped put this
book together.
xiii
Introduction
This book compares some of the best-known dynamic HTML page
creation systems. It includes some older systems such as CGI and SSH as
well as newer systems such as Flask and Django. Each system is examined
and compared with the other systems to discover each of their strengths
and weaknesses.
This should give you a basis for choosing the correct system for your
dynamic HTML page needs. For each system, I will provide example
programs so that if you are not experienced with a system, you can get a
taste of what building an application with it is like.
xv
Preface: Document
Conventions
This book uses several conventions to highlight certain words and phrases
and draw attention to specific pieces of information. The convention used
depends on the type of information displayed.
Computer Commands
Computer commands are usually presented in a bold font such as in the
following example:
The Unix command ls run from the command shell is used to
present a list of files and directories.
Filenames
Filenames are usually presented in monospaced text such as in the
following example:
To see the contents of the file report.txt use the command cat
report.txt.
xvii
Preface: Document Conventions
books Desktop documentation drafts mss photos stuff svn
books_tests Desktop1 downloads images notes scripts svgs
Source-code listings are also set off from the rest of the text, as shown
in Listing P-1.
conn = libvirt.open('qemu:///system')
if conn == None:
print('Failed to open connection to qemu:///system', \
file=sys.stderr)
exit(1)
conn.close()
exit(0)
xviii
Preface: Document Conventions
xix
CHAPTER 1
Introduction to Web
Servers
This chapter introduces web servers, the services they provide, and how
they work. This information is essential to web developers so they can
make proper use of their web server and provide the best web experience
to their users.
All web servers use the same building blocks to serve up web pages
to the user. While we could look at all the available web servers, it really is
not necessary since they all are designed around the same building blocks.
Instead, we will concentrate on the Apache web server since it is the most
popular. All the other web servers use the same building blocks and design
principles as the Apache server.
G
lossary of Terms
When delving into technical information, it is important that you
understand the terminology used. For that reason, please review the
following web server terms:
These terms should give you a good starting point for discussing how
a web server works. All of these terms will receive wider attention and
definition throughout this book.
2
Chapter 1 Introduction to Web Servers
3
Chapter 1 Introduction to Web Servers
4
Chapter 1 Introduction to Web Servers
5
Chapter 1 Introduction to Web Servers
up waiting in the queue longer than the request attempt will survive on the
network; i.e., the requester can give up before the request is ever processed
if there are too few processing routines. While this problem is not exclusive
to this server, it does still exist.
Recently the Nginx server has become popular within the community
because of its smaller footprint and flexible design. However, since many
of the principles that we will use to describe the Apache server also apply
to the Nginx server, I will not delve deeply into Nginx and will discuss it
only when differences between the two servers are important, especially in
regard to dynamic web page design.
6
Chapter 1 Introduction to Web Servers
#
# This is the main Apache HTTP server configuration file.
It contains the
# configuration directives that give the server its
instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed
information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
# for a discussion of each configuration directive.
#
# See the httpd.conf(5) man page for more information on this
configuration,
# and httpd.service(8) on using and configuring the httpd service.
#
# Do NOT simply read the instructions in here without
understanding
# what they do. They're here only as hints or reminders.
If you are unsure
# consult the online docs. You have been warned.
#
# Configuration and logfile names: If the filenames you specify
for many
# of the server's control files begin with "/" (or "drive:/"
for Win32), the
# server will use that explicit path. If the filenames do
*not* begin
# with "/", the value of ServerRoot is prepended -- so
'log/access_log'
7
Chapter 1 Introduction to Web Servers
#
# ServerRoot: The top of the directory tree under which the
server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path. If you point
# ServerRoot at a non-local disk, be sure to specify a local
disk on the
# Mutex directive, if file-based mutexes are used. If you wish
to share the
# same ServerRoot for multiple httpd daemons, you will need to
change at
# least PidFile.
#
ServerRoot "/etc/httpd"
#
# Listen: Allows you to bind Apache to specific IP addresses
and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
8
Chapter 1 Introduction to Web Servers
#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was
built as a DSO you
# have to place corresponding `LoadModule' lines at this
location so the
# directives contained in it are actually available _before_
they are used.
# Statically compiled modules (those listed by `httpd -l') do
not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
Include conf.modules.d/*.conf
#
# If you wish httpd to run as a different user or group, you
must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run
httpd as.
# It is usually good practice to create a dedicated user and
group for
# running httpd, as with most system services.
#
User apache
Group apache
9
Chapter 1 Introduction to Web Servers
#
# ServerAdmin: Your address, where problems with the server
should be
# e-mailed. This address appears on some server-generated
pages, such
# as error documents. e.g. [email protected]
#
ServerAdmin root@localhost
#
# ServerName gives the name and port that the server uses to
identify itself.
# This can often be determined automatically, but we recommend
you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP
address here.
10
Chapter 1 Introduction to Web Servers
#
#ServerName www.example.com:80
#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
AllowOverride none
Require all denied
</Directory>
#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not
working as
# you might expect, make sure that you have specifically
enabled it
# below.
#
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this
directory, but
# symbolic links and aliases may be used to point to other
locations.
#
DocumentRoot "/var/www/html"
#
# Relax access to content within /var/www.
11
Chapter 1 Introduction to Web Servers
#
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
#
# AllowOverride controls what directives may be placed in
.htaccess files.
# It can be "All", "None", or any combination of the
keywords:
# Options FileInfo AuthConfig Limit
#
12
Chapter 1 Introduction to Web Servers
AllowOverride None
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
#
# DirectoryIndex: sets the file that Apache will serve if a
directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
#
# The following lines prevent .htaccess and .htpasswd files
from being
# viewed by Web clients.
#
<Files ".ht*">
Require all denied
</Files>
#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a
<VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a
<VirtualHost>
13
Chapter 1 Introduction to Web Servers
# container, that host's errors will be logged there and not here.
#
ErrorLog "logs/error_log"
#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn
<IfModule log_config_module>
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\" %I %O" combinedio
</IfModule>
#
# The location and format of the access logfile (Common
Logfile Format).
# If you do not define any access logfiles within a
<VirtualHost>
# container, they will be logged here. Contrariwise, if
you *do*
14
Chapter 1 Introduction to Web Servers
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
#CustomLog "logs/access_log" common
#
# If you prefer a logfile with access, agent, and referer
information
# (Combined Logfile Format) you can use the following
directive.
#
CustomLog "logs/access_log" combined
</IfModule>
<IfModule alias_module>
#
# Redirect: Allows you to tell clients about documents that
used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://www.example.com/bar
#
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.
15
Chapter 1 Introduction to Web Servers
#
# ScriptAlias: This controls which directories contain
server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as
applications and
# run by the server when requested rather than as documents
sent to the
# client. The same rules about trailing "/" apply to
ScriptAlias
# directives as to Alias.
#
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
#
# "/var/www/cgi-bin" should be changed to whatever your
ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule mime_module>
#
# TypesConfig points to the file containing the list of
mappings from
# filename extension to MIME-type.
#
16
Chapter 1 Introduction to Web Servers
TypesConfig /etc/mime.types
#
# AddType allows you to add to or override the MIME
configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz
#
# AddEncoding allows you to have certain browsers
uncompress
# information on the fly. Note: Not all browsers support this.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out,
then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#
# AddHandler allows you to map certain file extensions to
"handlers":
# actions unrelated to filetype. These can be either built
into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options"
directive.)
#
17
Chapter 1 Introduction to Web Servers
#
# Filters allow you to process content before it is sent to
the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options"
directive.)
#
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default. To use the
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
AddDefaultCharset UTF-8
<IfModule mime_magic_module>
#
# The mod_mime_magic module allows the server to use
various hints from the
# contents of the file itself to determine its type. The
MIMEMagicFile
18
Chapter 1 Introduction to Web Servers
# directive tells the module where the hint definitions are
located.
#
MIMEMagicFile conf/magic
</IfModule>
#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
#
# EnableMMAP and EnableSendfile: On systems that support it,
# memory-mapping or the sendfile syscall may be used to deliver
# files. This usually improves server performance, but must
# be turned off when serving from networked-mounted
# filesystems or if support for these functions is otherwise
# broken on your system.
# Defaults if commented: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
EnableSendfile on
# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
19
Chapter 1 Introduction to Web Servers
We will look at each directive used in this file individually starting with
the ServerRoot directive.
ServerRoot "/etc/httpd"
This directive indicates the root where all the server’s global files are
located. This includes all the configuration files, the log files, and the error
files.
The next directive is the Listen directive, and it specifies the TCP/IP
port that the server will listen on.
#Listen 12.34.56.78:80
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
The User directive specifies what userID Apache should run under,
and the Group directive specifies what groupID it should run under. While
this may not seem important, it actually is, especially when running more
20
Chapter 1 Introduction to Web Servers
than one server. Each server may need to be running under a different
userID and groupID to work properly. If you are running multiple servers,
then consider moving the userID and groupID to the individual server
configuration files.
All the following directives set up the values used by the “main” server,
which responds to any requests that aren’t handled by a <VirtualHost>
definition. These values also provide defaults for any <VirtualHost>
containers you may define later in the file.
All of these directives may appear inside <VirtualHost> containers,
in which case these default settings will be overridden for the virtual host
being defined.
The next directive specifies where you want problems with your server
to be emailed.
ServerAdmin root@localhost
ServerName www.example.com:80
You should note that not only the name should be specified but
also the listening port. The port does not have to be unique if you are
running multiple servers on the same TCP/IP address and port. For more
information concerning this kind of configuration, you should refer to the
Apache documentation.
The next section is extremely important!
<Directory />
AllowOverride none
Require all denied
</Directory>
21
Chapter 1 Introduction to Web Servers
Do not modify this section unless you know exactly what you are doing.
My suggestion is to never modify it. This protects your root file system
from snoopers by removing read access from all Apache users (not system
users) to the root directory. If you intend to modify this section, you should
consult with your security team first.
The next directive, DocumentRoot, specifies the root of all the files on
your server, or at least most of them. There are some exceptions that we
will run into later.
DocumentRoot "/var/www/html"
You can point the DocumentRoot directive anywhere you want on your
file system, but it is suggested that it should always be local within the root
file system so that during startup of the server this location will always be
visible.
The next section relaxes access to the content of the DocumentRoot:
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
The Options directive in this case allows a listing of all the files to
be sent to the user just in case an index.html file does not exist. It also
22
Chapter 1 Introduction to Web Servers
forces the server to follow symbolic links even if they point outside the
DocumentRoot tree.
The next directive is used to specify the name of the file that will be
fetched should one not be specified by the user.
DirectoryIndex index.html
<Files ".ht*">
Require all denied
</Files>
The following directive specifies the name and location of the error log:
ErrorLog "logs/error_log"
When the server needs to log an error, this is where it will be placed.
Next, we want to at least control what errors get logged.
The possible values here are debug, info, notice, warn, error, crit,
alert, and emerg in order from lowest to highest. Only the level you specify
plus higher levels will be logged; all lower levels will be ignored.
The next section contains several directives specifying the format that
log messages will appear in:
<IfModule log_config_module>
23
Chapter 1 Introduction to Web Servers
The formats are specified in C’s sprintf format. These formats are
relatively straightforward and easily understood. Also specified in this
section are the name and location of the access log. The directives in
this section are executed only if the corresponding module is loaded
previously.
The next section uses the Alias module to further alias other
subdirectories.
<IfModule alias_module>
<Directory "/var/www/cgi-bin">
The directives in this section make whatever programs are within the
/cgi-bin subdirectory executable and readable for the user browser.
The next section adds default actions for certain file types that can be
executed by the browser if it is supported by the browser.
<IfModule mime_module>
There are a number of actions based on file type(s) specified here. The
directives in this section are executed only if the corresponding module is
loaded previously.
When the server provides output to the browser, we need a default
character set to use in case the HTML page does not specify one.
AddDefaultCharset UTF-8
24
Chapter 1 Introduction to Web Servers
The previous directive sets the UTF-8 character set as the default
character set to be used by all web pages when no character set is explicitly
set within the web page.
The next section gives hints to the server about various file types:
<IfModule mime_magic_module>
The mod_mime_magic module allows the server to use various hints from
the contents of the file itself to determine its type. The directives in this
section are executed only if the corresponding module is loaded previously.
The next section enables the operating system to return a file to the
client:
#EnableMMAP off
EnableSendfile on
IncludeOptional conf.d/*.conf
25
Chapter 1 Introduction to Web Servers
26
Chapter 1 Introduction to Web Servers
change at any time, and that may have a negative impact on the usability of
your site.
Lastly, new files may be added at any time, and older files may be
deleted at any time. You may or may not get notifications about these
additions/deletions, but they could have impacts on your website and
need to be evaluated before they occur, not after.
Apache Directives
The Apache directives Alias and ScriptAlias are similar to the operating
system ln command in that they bring in other parts of the local file
system to the file system created by Apache. The only real difference is that
the Alias and ScriptAlias directives are logical and not physical; i.e.,
only Apache can see them, and they do not really exist in the file system.
But from the perspective of the web administrator, they have the same
potential problems as real links. All the problems listed in the previous
section also apply to these directives.
Summary
This chapter introduced you to web servers in general with specific focus
on the Apache web server. I also introduced you to some web server
concepts as well as some topics specific to Apache.
I introduced you to Apache’s configuration file and described the
required and optional features available to the administrator when
configuring Apache.
Lastly, I introduced you to some potential problems you may run into
when organizing your website’s file system.
27
CHAPTER 2
H
TML Tags
HTML tags have a long history going back to the Generalized Markup
Language (GML) tag system invented by IBM. GML was the result of
modernizing an earlier language that described both the formatting of
a document and the style of the document. In the early days of printing
hardware, there was not much differentiation between the printer and the
30
Chapter 2 HTML Pages and CSS
31
Chapter 2 HTML Pages and CSS
32
Chapter 2 HTML Pages and CSS
33
Chapter 2 HTML Pages and CSS
S
ectioning Tags
The tags in Table 2-4 are used to break down the content so that each
concept, idea, or topic is isolated.
34
Chapter 2 HTML Pages and CSS
C
reating Tables
The tags in Table 2-5 are used to create tables or show data in a grid.
35
Chapter 2 HTML Pages and CSS
C
reating Forms
The tags in Table 2-6 are used for creating HTML forms you can use to
obtain input from the user.
<button> Denotes a button that will submit or reset the form. Phrasing
This can also be used as a generic button.
<datalist> Defines a set of suggested values for the user. Flow
<fieldset> Denotes a group of forms tags. Flow
<form> Denotes an HTML form. Flow
(continued)
36
Exploring the Variety of Random
Documents with Different Content
heen werkte, fout op fout makend. Of als hij, groote lummel van elf
jaar, nog maar steeds de tafels niet onder de knie kon krijgen, en me
geen antwoord wist te geven op m'n vraag, hoeveel 7 keer 8, of 9
keer 6 was. 'k Geloof, dat de heele klas volkomen mijn meening
deelde, dat Piet „heel erg dom” was, maar dat je op de heele wereld
geen betere jongen zou kunnen vinden.
Toch was er nog één leervak, waarbij ik altijd op Piet z'n volle
aandacht kon rekenen. En dat was: bij het zingen.
Op de eerste zangles ontdekte ik het al. Ze mochten zelf om de
beurt een van de liedjes kiezen, die ik ze in de vorige klas geleerd
had. En natuurlijk koos er eentje al heel gauw: „Duifjes, met uw
blanke veeren”. Waarom „natuurlijk?” Omdat ze merkten dat ik 't zelf
nooit koos. Toch had ik 't ze eerst geleerd en vond ik het zelf ook
een lief liedje, maar ze „zakten” onder 't zingen zoo geweldig, dat 't
niet om aan te hooren was. En mijn stem had niet altijd de kracht,
om ze op de goede hoogte te houden: er wordt veel gevergd van je
keel, als je voor de klas staat. Daarom zong ik 't niet graag met ze.
En als ze 't zelf kozen, dan liet ik ze in Godsnaam maar zakken en
zette ieder nieuw coupletje weer een terts hooger in; want dat was
zoowat het „verval”.
„Vooruit dan maar”, dacht ik dien dag ook weer en gaf den toon
voor ze aan. De zittenblijvers kenden 't blijkbaar ook, ze zongen ten
minste mee. Maar al bij den eersten regel werd m'n aandacht
getroffen door een nieuw geluid in 't gemengde koor, een hooge,
heldere stem, die zuiver den toon hield en 't heele koortje droeg.
Verrast bleef ik luisteren. Van wien kwam die stem? Van een van
de zittenblijvers? Dat moest ik eens gauw onderzoeken. 'k Liep
stapje voor stapje de jongensrijen door, terwijl m'n klas, zonder in 't
minst gezakt te zijn, het 2de coupletje inzette: „Waait het al te hard
daar buiten....” Opeens, daar had ik den zanger: Vlak naast zijn bank
bleef ik staan, om beter te kunnen genieten. Wat een mooie stem
had die jongen!
Hijzelf had er in 't minst geen erg op, dat ik naar hem stond te
luisteren. Verdiept in zijn eigen gezang, zelf genietend van den
helderen klank, zat hij voor zich uit te staren, als een vogel op een
tak, die alles om zich heen vergeet in de vreugde der zoete
melodieën en schallende trillers.
„'k Moet hem ook eens alleen hooren”, dacht ik. En toen 't liedje
uit was, riep ik hem voor de klas.
„Jij houdt zeker veel van zingen, he? Ken je nog een liedje, dat de
andere juffrouw jullie geleerd heeft? Dan mag je 't ons eens
voorzingen.”
Een beetje aarzelend en verlegen eerst, zette hij z'n liedje in.
Jongens schamen zich gauw, om te zingen, behalve natuurlijk als 't
straatliedjes zijn. Maar al bij de eerste woorden geraakte hij weer
onder de betoovering van de muziek en zong zonder de minste
verlegenheid verder.
'k Geloof, dat ook de klas merkte, dat 't „mooi” was. Ze luisterden
aandachtig, mij af en toe eens aankijkend, als om te vragen, of ik 't
ook mooi vond. Nergens zag ik ook maar een zweem van spot, dat
die lange jongen daar met zoo'n ernst zulk een kinderachtig liedje
stond te zingen.
Wat mijzelf betrof, 'k was met mijn gedachten plotseling verplaatst
in de Groote Dom te Keulen. Jaren geleden had ik daar den dienst
eens bijgewoond en was in extase geraakt bij 't plotseling invallen
van 't jongenskoor. Die zuivere, hooge jongensstemmen, met hun
eigenaardig schel timbre, nu hoorde ik ze weer. En met volle teugen
genoot ik van 't gezang van mijn „koorknaap”, zooals ik hem meteen
in gedachten doopte.
Nog ben ik niet aan het eind met m'n loftuitingen op Piet.
Al heel gauw merkte ik, dat de jongen voor alles, behalve dan
voor leeren, uitstekend bruikbaar was.
Voor schooltijd begon het:
„Piet, kun jij eens een plaat voor me opzoeken?”
Dan glom z'n heele gezicht al.
„Dan moet je eerst naar den meester van de elfde klas gaan, die
weet je toch wel te vinden?”
Een stomme hoofdknik, vol ongeduld.
„En daar vraag je den sleutel van de platenkist, die hiernaast op
het portaal staat. En dan moet er een plaat in wezen, met een
ooievaar, die op zijn nest staat; en een andere ooievaar vliegt door
de lucht. Kun je 't goed onthouden?”
Weg was hij al, om na een paar minuten triomfantelijk met de
bedoelde plaat terug te komen.
„Prachtig, Piet! Heb je de kist weer gesloten en den sleutel
teruggebracht?”
't Was altijd in orde. In dat opzicht was hij zijn leeftijd eerder
vooruit dan ten achter.
Geen dag ging er voorbij, dat hij me niet op een of andere wijze
van dienst was. Er was b.v. een jongen, die te veel rauwe stoofperen
gegeten had, en wiens maag er op een gegeven oogenblik, midden
onder de les, de brui aan gaf. Dadelijk zocht mijn oog m'n altijd
gewillig factotum.
„Och Piet, wil jij even meegaan, om hem eens netjes af te
wasschen? En haal je dan wat zand om hier overheen te strooien?
Ja, de bank wil je wel even met de spons afnemen, he? Maar daarna
frisch uitspoelen, Piet!”
Kwam de perensnoeper weer binnen, en zag hij nog bleek en
glazig, dreigend met recidive, dan was het:
„Zeg, Piet, je moest den hoofdonderwijzer eens gaan opzoeken.
Neem Jantje maar mee, en vraag, of je hem even naar huis mag
brengen.”
En dan kon ik er heel gerust op zijn, dat Jantje veilig bij zijn
moeder zou belanden.
Moesten de inktpotten bijgevuld of schoongemaakt worden, tot
wien kon ik mij beter wenden dan tot Piet? Met het grootste plezier
bleef hij er een half uur voor na, en verrichtte het onsmakelijk
baantje handig en vlug. 'k Geloof dat hij, ook zonder de reep
chocolade, die 'k vond dat hij dan toch ten minste wel hebben
mocht, tevreden om half vijf naar huis zou gegaan zijn.
Z'n groote onmisbaarheid bleek me echter pas, toen het
kachelweer werd. Voor kachels aanmaken en -houden had hij een
beslist talent. En na een paar dagen liet ik dien tak van dienst dan
ook met de meeste gerustheid in zijn handen.
„Piet, kijk eens, of er niet wat bij de kachel moet.”
„Ja juffrouw, d'r mot een beetje bij. Maar de emmer is leeg. Ik zal
maar een bakkie gaan halen.” En dan sjouwde hij een vollen drager
cokes uit het kolenhok aan.
Een ander keer was het: „Juffrouw, hij leit leelijk. D'r mot een
stukkie turref op. Zal ik maar effies naar het turfhok gaan? Wacht, 'k
zal me lei meenemen, dat dee ik bij de vorige juffrouw ook altijd.”
En dan kwam hij met z'n lei volgestapeld met stukjes losse turf en
een paar minuten later snorde m'n kachel weer, zonder dat ik er
naar omgekeken had.
Zoo liep het halfjaar ten einde en 't werd weer „verhooging”.
In gemeenschappelijk overleg besloten 't Hoofd en ik, dat Piet dit
keer maar mee over moest. 't Was wel net met de hakken over de
sloot, maar je kon hem toch niet langer in de vierde laten. En
misschien zou het zijn ijver en eerzucht nog wat aanwakkeren, dat
hij nu „verhoogd werd”.
Den laatsten dag kwam z'n moeder me bedanken voor „het
genoten onderwijs.” 't Brave mensch verbeeldde zich beslist, dat ze
mij heel dankbaar moest wezen. „Ja juffrouw, Piet heeft het me zelf
verteld, als u niet zoo uw best op hem gedaan hadt,....”
Met gepaste bescheidenheid hoorde ik dien lofzang aan. In m'n
hart echter stelde ik ondertusschen de balans op.
Op de eene schaal kwam al het plezier, dat ik steeds van Piet had
gehad: de surveillance van m'n jongens in 't speelkwartier, het
„dragen” van m'n koor, zijn solozang, de boodschappen, de
inktkokers, 't aanhouden van de kachel. Op de andere lag enkel 't
poovere beetje wetenschap, dat ik hem had kunnen bijbrengen.
Och Piet, wat sloeg de schaal aan jouw kant toen diep door!
ELSJE.
„.... en toen ze weer wakker werden, waren ze heel verbaasd dat
hun Vader en Moeder er niet meer waren. Ze sprongen overeind, om
ze te gaan zoeken en ze riepen zoo hard ze konden: „Va-a-der!” en
„Moe-oe-der!”, dat het door het heele bosch weergalmde. Maar
antwoord kregen ze niet. Toen werden ze toch wel een beetje
ongerust. Waar konden Vader en Moeder gebleven zijn? En weer
riepen en schreeuwden ze, en ze keken naar alle kanten uit, of ze
hen nog niet zagen aankomen. Maar—alles tevergeefs.
„Toen begon hun hartje toch wel heel hard te kloppen, want ze
voelden zich zoo eenzaam in dat groote bosch. De oudsten hielden
hun tranen nog in en bleven maar roepen, al beefden hun
stemmetjes ook. Maar de kleintjes snikten en schreiden zoo luid ze
konden, terwijl zij.....”
„O, juffrouw, ik ben zoo bang,” klinkt opeens een schril stemmetje,
dwars door m'n vertelling heen.
't Is Elsje. Ze staat overeind in haar bank, de oogen wijd open van
ontzetting. Voor dit gevoelige hartje zijn zooveel angst en spanning
te zwaar om te dragen.
Door de klas gaat een gemompel van teleurstelling. Hé, dat flauwe
kind ook weer! 't Werd nu juist zoo mooi! En ze kijken me smeekend
aan, om mij te bezweren, me er toch niet aan te storen. Ze lezen de
woorden van m'n lippen en de temperament-volsten roepen: „Hé
juffrouw, gaat u nou verder.”
Maar eerst moet ik m'n kleine Elsje wat geruststellen.
„Je kent het verhaaltje toch,” zeg ik. „Je weet toch wel, dat ze
naar Klein Duimpje gaan, en dat die er wel raad op weet. Luister nu
maar stil, dan zul je hooren, dat 't goed afloopt.”
„O juffrouw, ik vind het zoo naar! Mag ik dan zoolang bij u komen
staan, tot het uit is?”
Haar twee kleine handjes omklemmen de mijne, haar hoofdje
duwt ze in de plooien van m'n boezelaar. Zoo, dicht tegen mij
aangedrukt, voelt ze wat troost en bescherming en nu kan ze het
sprookje weer verder aanhooren.
Als 't goed gaat, als Klein-Duimpje dank zij de witte steentjes zijn
weg terug vindt, heft ze haar kopje weer op, ziet me vol spanning
aan. En als het hutje weer bereikt is en Vader en Moeder omhelzen
de verloren gewaande kinderen, dan stralen haar lieve oogen me vol
vreugde tegen, maar ook vol dankbaarheid, omdat ik het zoo goed
laat afloopen.
Maar voor de andere kinderen begint het nu pas. Immers, nu
komt het tweede bedrijf, met de broodkruimels. „En dan kunnen ze
den weg niet terugvinden. En dan verdwalen ze! En dan, dan wordt
het donker!”
Voor mij ligt hier altijd het hoogtepunt van het drama. De verdere
avonturen, ze zijn angstaanjagend en verschrikkelijk; het verblijf in
de woning van den reus, die „kindertjes eet”, je moet er niet aan
denken; als hij „menschenvleesch ruikt” en overal zoeken gaat, dan
kunnen er koude rillingen over je rug loopen. Maar toch, 't zijn
sprookjes-avonturen, ieder kind weet in z'n hart, dat reuzen en
menscheneters niet bestaan, en dat het dus ook niet „echt gebeurd”
is. Terwijl de beklemming, die van het groote, in avondschemering
gehulde bosch uitgaat, het gevoel van hulpeloosheid en angst voor
allerlei dreigende gevaren zoo reëel is, dat het ons volwassenen nog,
den adem kan doen stokken.
Daarom weid ik bij die episode altijd wat langer uit; de donkere
schaduwen, de krakende tak, de geluiden in de verte, het fladderen
van den nachtuil, alles krijgt z'n beurt, totdat we ten slotte allemaal
met verademing het roode lichtje tusschen de donkere stammen
zien verschijnen, en met een diepe zucht de huivering van ons
afschudden, de huivering, die toch zoo'n genot was.
Alleen die eene klas, waartoe Elsje hoorde, die heeft Klein
Duimpje niet gehad, zooals 't behoort. Toen ik voelde, hoe die
ijskoude handjes trilden, hoe het lieve kopje zich in namelooze angst
tegen mij aandrukte, alsof 't bij mij bescherming zocht, toen heb ik
het roode lichtje maar gauw laten verschijnen, veel te vroeg
eigenlijk. En de vrouw van den reus is dat keer een
allerbeminnelijkste gastvrouw geweest en de reus zelf een beetje
brommerige, maar toch niets kwaadsbedoelende opa. De vreugde
van de behouden thuiskomst echter, die heb ik met de el
uitgemeten.
En toch was die heele water-en-melk Klein Duimpje nog veel te
gepeperde kost voor m'n kleine, lieve Elsje. Want nooit zag ik
gevoeliger kindje.
Ik weet nog, dat ik eens een jongen zijn griffels afnam, waarmee
hij, na herhaalde waarschuwingen, toch weer zat te spelen. 'k Was
zelf nog jong en streng en ik wou de straf eens terdege
indrukwekkend maken. Daarom zei ik: „En nu krijg je ze ook niet
terug. Ik weet nog wel heel arme kinderen, die altijd goed oppassen.
Aan die zal ik ze geven.”
„O juffrouw,” kwam daar opeens het hooge stemmetje van Elsje,
„geeft u ze aan arme kindertjes? Mag ik er dan ook een paar bij
doen; ik kan er best wat missen.”
Met een handjevol griffels kwam ze uit haar bank gestapt, en—
weg was het indrukwekkende van m'n straf. Het leek eerder een
belooning nu, iets uitverkorens, dat mogen geven aan „arme
kindertjes.”
Lief klein ding! Tegelijk met je mooiste griffels heb je me toen een
paedagogische les gegeven, die ik nooit heb kunnen vergeten!
„En juffrouw?” vroeg het Hoofd, toen hij even in de klas moest
wezen, „hebt u 't ze al verteld?”
„Nee m'nheer,” zei ik haastig, in de hoop, dat ik het gevaar nog
afwenden kon, „dat heeft nog wel even den tijd.”
Maar hij scheen me niet te begrijpen, en zei: „Nu dan zal ik het ze
maar eens vertellen.”
Breed en vierkant plaatste hij zich midden voor de klas, leunde
met beide handen op de voorste bank en overzag de rijen met een
veldheersblik.
Als een electrische stroom ging het door de kinderen; ze voelden 't
allemaal: er kwam wat, en 't was slecht nieuws. Hulpeloos keken ze
eerst naar mij en toen weer naar het strenge gezicht van den
hoofdonderwijzer.
Nadat hij op deze wijze stemming gemaakt had, begon hij pas te
spreken. Zijn stem had de plechtige klank, die ieder onderwijzer er
bij gepaste gelegenheden in weet te leggen:
„Kinderen, jullie mag je juffrouw nog wel eens goed aankijken.
Want—ze gaat bij ons vandaan, naar een andere school, een heel
eind hier uit de buurt.”
Even wachtte hij; toen kwam, verpletterend als een een
doodvonnis, de klap op de vuurpijl: „Aanstaanden Zaterdag is ze hier
voor 't laatst.”
Met een zekere spanning liet ik mijn blik over de klas gaan, want
ik was toch benieuwd, hoe ze het zouden opnemen.
Neen hoor, ik had me niet in ze vergist: ze vonden het naar. Er lag
iets van verwijt in hun blik; ik hoorde: „He, juffrouw!” en „Wat
jammer!” roepen.
Maar opeens klonk van Elsje's plaats een luide uitroep, haast een
schreeuw:
„Nee meneer, nee, nee!”
Heftig schudde zij het hoofdje, keek den grooten man woedend
aan. Toen zochten haar oogjes mij, en daarbij werd haar blik zacht
en smeekend:
„Nee, he juffrouw?”
En toen ik niets anders wist te doen, dan enkel maar zachtjes van
ja te knikken, toen wierp ze zich voorover op haar bank en begroef
het hoofd in beide handen onder luid geschrei.
Nu is schreien altijd aanstekelijk. Ik weet zeker, dat er zonder Elsje
geen traan vergoten zou zijn. Maar nu ze haar zoo erbarmelijk
hoorden huilen, werden de gevoeligsten onder mijn meisjes toch ook
een beetje aangedaan. Zeker vonden ze het, nu ze er goed over
nadachten, toch eigenlijk ook wel heel erg. En de een na de ander
haalde de waterlanders voor den dag en begon een deuntje te
schreien.
Jongens huilen niet, en zeker niet, als ze al negen of tien jaar zijn.
Dus lachten ze een beetje spottend naar elkaar, om die „flauwe
schapen”, maar het lachen ging toch niet heelemaal van harte en
zelfs zagen bij een paar de oogen bedenkelijk rood.
Het Hoofd stapte de klas uit, het aan mijn beleid overlatend, hoe
ik het schreiende troepje weer tot rede zou brengen. Bij de deur
knikte hij nog eens, echt voldaan: hij had bloed gezien.
Ik ging voor de klas zitten, zocht mijn overredendste toon uit en
begon met ze te praten. Dat ik het ook niet prettig vond, maar dat
er niets aan te doen was. En dat ze vast wel een aardige juffrouw
terug zouden krijgen, of misschien wel een meester! En als ze me nu
die laatste dagen nog eens echt plezier wilden doen, dan moesten ze
nu niet langer schreien, maar goed gaan opletten.
Vooral het laatste hielp. Ze droogden hun tranen, vouwden devoot
de handjes en keken me braaf aan: „Zitten we zoo zoet genoeg?”
Alleen Elsje was niet tot bedaren te brengen. En omdat ik uit
ervaring wist, dat iedere verdere poging haar nog maar meer van
streek zou maken, liet ik haar stil aan haar lot over. En ik gaf een
zucht van verlichting, toen eindelijk de bel ging en ze, nog steeds
snikkend, in de rij mee liep.
't Was een knap gezin, de Van Ekerens. De drie oudste jongens
waren gewone bengels, waar je niets extra mee te stellen had.
Daarop volgde het zusje, een lief zacht kind, een beetje zorgerlijk
moedertje. En dan werd de rij gesloten door onze Arie, die dus
volgens z'n moeder erfelijk belast was met haar onrust. Maar
volgens welke geheimzinnige wet hij al de ondeugendheid geërfd
had, van z'n drie broertjes samen, en al de brutaliteit die z'n vader,
een beleefd, onderdanig schoenmakertje, z'n heele leven te weinig
had gehad? En wie van z'n voorouders hem dat plagerige in zijn aard
had meegegeven, die trek om ieder, dien hij aandurfde, het leven
lastig te maken?
't Was een verbazend moeilijk kind in de klas. Had je er gemiddeld
vijf zoo, dan zou je 't baantje er aan moeten geven. 'k Vergeleek
hem in gedachten vaak bij een jong stiertje, zoo woest en
ontembaar was hij. 't Had een van de beste leerlingen kunnen zijn,
want hij had een uitstekend verstand, maar hij verkoos geen vijf
minuten achtereen op te letten of z'n best te doen. Maakte hij bv.
een taallesje, dan was 't opmerkelijk, het verschil te zien tusschen
den eersten regel en den laatsten. Trouwens, schrijven was niet zijn
lievelingsvak, altijd brak hij de punt van z'n potlood, altijd trof hij
een griffel, dat kraste.
En toen we met pen en inkt begonnen, werd 't nog slimmer. Nu
eens „spatte die akelige pen zoo erg”, dan weer „zat er telkens een
haar aan” of „viel er zoo maar opeens een klad op z'n werk”. Dat
waren nog de dagen dat hij te regeeren was. Maar nu kon je 't ook
nog treffen, dat hij een van z'n woeste buien had. Dan smeerde hij
getroost z'n heele schrift vol, „want er was een mop op gevallen, en
dat had hij niet gezien en toen had hij er zóó met z'n hand over
gestreken.” En als hij nog maar niet met opzet propjes papier in z'n
inktkoker stopte en daarmee z'n heele bank vol knoeide, dan had ik
nog niet eens wat voor 't zeggen.
In 't speelkwartier was hij 't ergst. Je k o n hem haast niet met de
andere kinderen laten meespelen. Altijd werd 't ruzie en vechten in
zijn hoek. Bij ieder spel wou hij de lakens uitdeelen, en begon dat de
andere jongens te vervelen, en lieten ze hem niet meedoen, dan
zocht hij z'n troost in 't plagen van de kleintjes. „Juffrouw, Arie het
me pet over de schutting gegooid. Arie het me fliegmessientje
afgegapt, Arie smijt me suurtje in 't sand”, klonk het dan huilend van
alle kanten. Of hij kreeg z'n „kippekuur” en begon als een gek over
de speelplaats te hollen, zwaaiend met z'n armen en alles en
iedereen omver loopend. Geen oogen had je genoeg voor dien
jongen.
Eens kregen we een nieuweling, een oolijke kaaskop. Die had
blijkbaar z'n oogen en ooren op de rechte plaats. Met zijn oordeel
over Arie was hij tenminste gauw klaar en 't was raak ook. In 't
speelkwartier stond hij eerst even met een stuk of wat jongens te
smoezen en te gniffelen. Toen maakten ze een lange rij en
begonnen met groote stappen de speelplaats af te loopen, precies in
de maat. En daarbij riepen, neen schreeuwden ze uit volle borst:
Arie-bombarie,
Je neus staat krom!
Een dubbeltje segare
En 'n dubbeltje werom!
't Vers sloeg oogenblikkelijk in. Alle kinderen hielden op met
spelen en keken lachend toe. Toen 't voor den tweeden keer ingezet
werd, was de rij al dubbel zoo lang, 'k geloof dat de heele klas er
achteraan wilde. Maar daar had je Arie. Met z'n vuisten wou hij den
nieuweling te lijf en 'k moest er vlug tusschen komen.
„Bedaar maar” zeg ik, „'t gaat heelemaal niet op jou, want je neus
staat toch niet krom. Maar als je zoo'n vechtersbaas blijft, dan kon je
er wel eens een tik tegen krijgen, dat ze reden hadden, het te
zingen.”
En den kaaskop gaf ik den raad, dat versje maar voor z'n moeder
te bewaren, want dat ik 't niet meer hooren wou. En dat de kinderen
hier uit de klas elkaar nooit mochten plagen.
Daarmee was 't uit en 't rijmpje hoorde ik ook niet meer. Maar de
bijnaam was t e toepasselijk, te mooi. Die zat. Eerst werd hij er
woest om en gaf 't aldoor kloppartijen. Maar toen gingen ook de
jongens uit de hoogere klassen hem zoo noemen, en zelfs z'n eigen
groote broers. Toen kon hij er niet meer tegen op, hield zich groot
en lachte er om. Ja, op 't laatst werd hij er, geloof ik, zelfs trotsch
op.
En zoo bleef het Arie-Bombarie. Of liever nog voor 't gemak enkel
Bombarie.
Wie nooit voor schooltijd alleen in een leege klas is geweest, kan
zich geen voorstelling maken, van het eigenaardige rumoer, dat dan
door de open ramen naar binnen dringt. Wij ingewijden kennen het
echter zoo goed, dat wij er de fijne nuancen van leeren
onderscheiden. Zoo hooren wij b.v. al aan 't leven voor de school,
wat voor weer het buiten is. Bij mooi weer zijn de kinderen druk en
uitgelaten, bij groote hitte hoor je ze haast niet, dan hangen ze
landerig op stoepen of tegen den muur. Bij stortregen ook niet, want
dan komen ze zoo laat mogelijk, of schuilen zoo lang in een portiek
of onder een afdak. 't Stilst is het, als er ijs in de grachten ligt, dan
staan er alleen de heele kleintjes aan moeders hand en hoor je enkel
't zeurige gekles: „Och juffrouw, wat u seit? En sal ik nou is wat
segge...” Maar ligt er sneeuw, dan is 't lawaai dubbel sterk, maar 't is
een vroolijke, aardige drukte. 't Ergst is de herrie bij stormachtig
weer, dan hebben ze den wind in 't hoofd en gillen als dol door
elkaar. Dan zuchten we eens tegen elkaar en zeggen: „Hoor je ze?
Dat kan weer een dagje worden. Ik zal ze maar dadelijk de pen op
den neus zetten.”
Natuurlijk is 't rumoer ook grooter op dagen, dat ze bizonder
opgewonden zijn: bij prijsuitdeeling, met Sinterklaas, den laatsten
dag voor de vacantie, enz. En op gewone dagen kan plotseling fel
tumult losbarsten, wanneer iets de gemoederen in beroering brengt.
Och, 't hoeft heusch niet zooveel belangrijks te zijn, een kleine
vechtpartij is al voldoende. En dan moet een der onderwijzers juist
aankomen en de twee schuldigen alvast „mee naar binnen” nemen!
Dan volgen er heftige debatten, wie gelijk had en wie „begonnen” is,
waaraan zelfs de kleintjes deelnemen.
't Felst echter laaien de vlammen van hun emotie op, als de
„plietsie” er aan te pas komt. Een jongen heeft bv. een ruit
ingegooid, een deur volgekrast, een voorbijganger gemolesteerd en
nu wordt hij huilend en wel door een diender naar school gebracht,
omstuwd door de heele bende. Dan moet je ze hooren! Allen
schreeuwen ze door elkaar en ieder wil den ander weer
overschreeuwen. En er zijn zulke veelbelovende stemmetjes bij, als 't
ware „geschapen” om later met garnalen of radijs, met visch of
komkommers te venten, om „de laatste stuiptrekkinge fan 't
kappitaol” te colporteeren, of om eenvoudigweg maar een klein
twistgesprek met een buurvrouw op touw te zetten, waarbij de heele
buurt uitloopt. Wat ze dan zoo heftig te betoogen hebben? Wel, ten
eerste rijst er onmiddellijk verschil over de kwestie of beklaagde al
dan niet schuldig is aan 't hem ten laste gelegde: op z'n minst de
helft begint zonder dat zij er iets van afweten, te roepen, dat „hij het
niet eens gedaan heeft.” En dan wordt de zwaarte van de straf
overwogen: of hij vannacht op 't politiebureau zal moeten blijven?
en: of z'n vader 't zal moeten betalen?
Maar, zooals ik al zei, er hoeft volstrekt niet zoo iets ernstigs
gebeurd te zijn. 'k Ben ook wel eens bij plotseling geschreeuw
ongerust naar 't venster geloopen voor—een jongen met een
matrozenhoed op. „Hajewiet, hajewiet,” gilde de bende „een jonge
mit 'n maassieshoed!”
En dus schrok ik ook niet, toen op een middag voor schooltijd
opeens de storm weer opstak. Ik keek uit het raam, zag de kinderen
in clubjes bijeen staan, heftig betoogend en gesticuleerend, maar ze
schreeuwden zoo door elkaar, dat ik er geen woord van verstaan
kon. „Zeker een vlieg in het water gevallen”, dacht ik bij mezelf, „zoo
meteen zal ik 't wel hooren.”
't Hoofd scheen de ongewone drukte ook gemerkt te hebben: hij
zette maar gauw de deuren open.
En daar had je ze, daar kwamen ze aanstormen, holderdebolder
de trap op, elkaar duwend en stompend, om toch maar de eerste te
zijn, die 't groote nieuws aan de juffrouw komt brengen. In een prop
drongen ze de deur in, hijgend en opgewonden:
—Juffrau, Arie is oferreje.
—Hij is onder 'n auto gekomme.
—Ja juffrau, mit se hoofd dr onder.
—Nietes, mit se beene.
—Och seg, jij sting dr niet eens bij.
—Hij is dood, juffrau!
—Och ga weg.
—Welles, hij had se ooge toe, toe die meneer 'm optilde.
—Nou, dan hoeft-ie toch nog niet dood te zijn. Seg! Die is goed.
—En die meneer het 'm in de autau gedrage.
—En toe benne se met 'm weggereje.
—Waar benne se nou met 'm na toe, juffrau!
—Nou, na se moeder.
—Nietes, na 't gasthuis.
—Of na de plietsie.
—Nee hoor, na 't lijkehuisie.
Zoo schreeuwden en kibbelden ze door elkaar.
Ik voelde, dat ik wit en strak van de schrik werd. M'n hemel, dat
levendige, bewegelijke kind! Zou 't mogelijk zijn, dat die dood was!
Of, nog erger, verminkt, hulpbehoevend voor z'n verdere leven? Ik
moest er niet aan denken. 'k Zag hem vóór me, in tien verschillende
houdingen, maar altijd in beweging en ook altijd bezig iets
verbodens te doen: glijdend langs de trapleuning, klimmend in een
lantaarnpaal, dansend op 't dunste ijs, hangend achter aan de tram,
dravend dwars voor een hollend paard. Nee, 't was eigenlijk geen
wonder, dat hij een ongeluk gekregen had.
„Hoe is 't zoo gekomen?” vroeg ik. En dadelijk brak de stortvloed
weer los.
—Nou, we deeë bokkie, soo met petje-af. En toe kwam opeens die
autau de hoek om. En toe lagge onse pette dr nog. En toe is de
autau dr net bij en toe pakt Arie se pet nog gauw en toe kwam die
dr onder, soo met se hoofd voorover. En 't wiel ging sóó over se
beene! En die meneer, die stapte sellef uit, en toe hep-tie met de
sjefeur same Arie d'r in gedrage, en toe benne se weggereje”.
Ja, 'k zag het voor m'n oogen gebeuren, 'k zag de lange rij
bokspringers, 'k zag ze uiteenstuiven voor de naderende auto, en
toen moest Arie, branie als altijd, natuurlijk weer laten zien, wat h i j
wel durfde. En nu, och Heer, deze eene keer was 't mis gegaan....
En ik rilde bij de gedachte aan dat tooneel.
Den heelen middag bleef 't me bij. En met vreezen en beven
stapte ik na vieren de kleine schoenmakerswerkplaats binnen.
Daar zat vader van Ekeren met z'n blauwe voorschoot aan de tafel
bij 't raam. 't Werk lag in z'n schoot en over z'n stalen bril keek hij
vol aandacht naar z'n vrouw, die midden in 't vertrek druk stond te
betoogen. Zoodra zij me zag, riep ze uit:
„Och kijk nou es, daar heb je zn juffrouw ook. Wat een jongen, he
juffrouw, je staat er toch wat mee uit! Wil je wel gelooven, dat de
schrik me nog in me beene zit?”
En ze viel neer op een der stoelen.
Ik herademde. 't Was dus niet ernstig.
„Hoe is 't nu met hem?” vroeg ik.
„O, 't is Goddank goed afgeloopen, dit keer. Ik kom zóó van 't
gasthuis en 'k sta 't al net an me man te vertellen; de zuster zegt
tegen me:—Hij is al heelemaal thuis hier en hij heeft allemans
praats.” Nou, dat kennen we, he juffrouw, dan is hij weer boven
Jan.”
„Waar heeft hij zich eigenlijk bezeerd?”
„Ja, hij zit overal met builen en schrammen. En z'n eene voet zit in
't verband. Maar 't heeft niets te beteekenen, zeggen ze. Ze houen
'm alleen voor de sekurigheid nog wat in bed. Maar met een paar
dagen krijg ik hem weer thuis.”
ebookbell.com