Assign startup-form dynamically based on url hash

This is indeed the recommended method.

The long-term plan is to be able to specify a “startup Module” instead of a “startup form”, and have that module explicitly open_form() the correct form.


(Tech note: The reason that open_form() within __init__() doesn’t do what you expect is that Anvil creates the startup form before it opens it. If you call open_form() in the startup form’s constructor, the new form will open - but as soon as __init__ returns, it will be replaced by the original startup form you’re constructing. The show event, by contrast, occurs after the form is opened, so open_form() works as you’d expect.)