pip install TurboGears
gearbox quickstart
python
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50))
email = Column(String(50))
def __repr__(self):
return f"<User(name='{self.name}', email='{self.email}')>"
html
<!DOCTYPE html>
<html>
<head>
<title>Users</title>
</head>
<body>
<h1>User List</h1>
<table>
<tr>
<th>Name</th>
<th>Email</th>
</tr>
{% for user in users %}
<tr>
<td>{{ user.name }}</td>
<td>{{ user.email }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
python
from tg import TGController, expose, redirect
class UserController(TGController):
@expose('/')
def index(self):
users = User.query.all()
return {'users': users}
@expose('/create')
def create(self, name, email):
user = User(name=name, email=email)
db.session.add(user)
db.session.commit()
redirect('/')
python
from tg import AppConfig, TGApp
class MyAppConfig(AppConfig):
def get_tg_app(self, global_config, **app_config):
return TGApp()
myapp_config = MyAppConfig()
application = myapp_config.make_wsgi_app()
gearbox serve