Python: Django vs Turbo Gears 2

Ich musste mich damit beschäftigen wie man eine kleine REST-API mit Python erstellt. Django macht dabei an sich bei jeden Pups bei mir Probleme und war doch sehr umständlich, weil man sich noch mit dem gesamten MVC-Pattern darin beschäftigen musste. Nachdem es auch mit dem ORM schwieriger wurde (im Vergleich zu Spring Boot mit JPA/Hibernate) dachte ich mir, es müsse doch auch für Python was modernes geben. So kam ich zu Turbo Gears 2 und das macht schon mal genau was ich wollte. Einfach, schnell und übersichtlich.


from tg import expose, TGController, AppConfig
import jsonpickle

# --

class TestEntity(object):
def __init__(self, id ,name, sub):
self.id = id
self.name = name
self.sub = sub

class TestSubEntity(object):
def __init__(self, value):
self.value = value

# --

class RootController(TGController):
@expose("json")
def index(self):
test = TestEntity(42, 'blubb', TestSubEntity('sub-blubb'))
return jsonpickle.encode(test, unpicklable=False)

@expose("json")
def method2(self):
test = TestEntity(23, 'blubb-2', TestSubEntity('sub-blubb-2'))
return jsonpickle.encode(test, unpicklable=False)


# --

config = AppConfig(minimal=True, root_controller=RootController())

application = config.make_wsgi_app()

from wsgiref.simple_server import make_server

print("Serving on port 8090...")
httpd = make_server('', 8090, application)
httpd.serve_forever()


Mit Turbo Gears 2, Spring Boot und Meecrowave kann wirklich schnell und einfach Microservices erstellen und vieles des Overheads alter Zeiten ist einfach nicht mehr da bzw wurde so gut versteckt, dass man sich rein auf den Code und die Logik konzentrieren kann. Welche Lösung man da nimmt ist Geschmackssache. Von der Codestruktur her sieht alles an sich fast 100% gleich aus.

Bei Python sehen Flask, Bottle und Hug auch interessant aus
User annonyme 2018-11-22 19:24

write comment:
Nine + = 10

Möchtest Du AdSense-Werbung erlauben und mir damit helfen die laufenden Kosten des Blogs tragen zu können?