Consider following MWE code (using panel 1.4.0, param 2.1.0, bokeh 3.4.0, Python 3.12.2 on Ubuntu):
import panel as pn
pn.extension(template="fast")
parameter = pn.widgets.Select()
btn = pn.widgets.Button(name="Click me", button_type="primary", align="end", height=60)
column = pn.Column(parameter, pn.VSpacer(), btn)
column.servable()
It puts the button at the bottom as expected (the VSpace fills all available space):
Now if you change
column.servable()
into
column.servable(area="sidebar")
you’ll see this:
i.e., the VSpacer
does not seem to take any of the available space. Why it is so?