Depuis que vous avez explicitement ne veux pas d'un ORM, je voudrais rester à l'écart à partir d'un "full stack" du cadre, si j'étais vous. Python standard WSGI vous donne une tonne de facile-à-utiliser des options qui vont vous donner uniquement les fonctionnalités dont vous avez besoin et même vous permettre de choisir votre style de travail.
Voici un exemple: pour l'URL de l'expédition, vous pouvez utiliser les Routes, les ports sur l'URL d'expédition style de Rails. Ou vous pouvez combiner Sélecteur avec WebOb si ce style vous convient le plus.
Pour les "mises en page", vous pouvez utiliser le puissant Jinja2 si vous voulez des modèles qui ne peuvent pas exécuter de code. Ou, Mako si vous préférez être en mesure de mélanger un peu de code dans vos modèles. Vous pouvez même utiliser la Délivrance de contrôler la mise en page des pages qui sont composés de plusieurs applications et même plusieurs langues!
Un full-stack web cadre est agréable en ce qu'elle fait un tas de choix pour vous, vous permettant de payer attention juste à l'application de votre bâtiment. Mais, le choix que j'ai énumérés ci-dessus sont une bonne collection pour vous allez construire votre propre. Si vous vous dirigez en bas de ce chemin, vous trouverez qu'il est facile à brancher dans le Bécher pour la mise en cache et les sessions si vous en avez besoin, ou WebError pour vous aider au débogage.
Personnellement, je suis un grand fan de l'Orm (en particulier SQLAlchemy), mais si vous cherchez à faire de l'ORM gratuit et léger dans l'ensemble, vous ne pouvez pas battre combinant les grandes WSGI les composants sont disponibles en Python.