Raise 404 when files not found
Do more menu html rendering in the template

Rather than doing lots directly in python