目录
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1ade4f81b4438048616bc294f26c5e4d.png)
步骤
配置settings.py
import os
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
path = 'sqlite:///' + os.path.join(BASE_DIR, 'sqlite3.db')
tornado_config = {
'template_path': 'templates',
'static_path': 'static',
'static_url_prefix': '/static/'
}
模型类 models.py
import sqlalchemy
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from settings import path
engine=sqlalchemy.create_engine(path,encoding='utf-8', echo=True)
Base=declarative_base(bind=engine)
Session=sessionmaker(bind=engine)
session=Session()
class BaseModel(Base):
__abstract__=True
id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True, autoincrement=True)
def save(self):
session.add(self)
session.commit()
def update(self):
session.commit()
def delete(self):
session.delete()
session.commit()
class Car(BaseModel):
__tablename__='car'
c_name=sqlalchemy.Column(sqlalchemy.String(32))
c_price=sqlalchemy.Column(sqlalchemy.Integer)
if __name__ == '__main__':
Base.metadata.create_all()
视图类 views.py
import tornado.web
from models import *
class IndexHandler(tornado.web.RequestHandler):
def get(self):
pass
路由 urls.py
from views import *
urlpatterns = [
(r'/index/', IndexHandler),
]
创建application 对象 app.py
from settings import tornado_config
from urls import urlpatterns
import tornado.web
def make_app():
app = tornado.web.Application(
urlpatterns,
**tornado_config
)
return app
启动项目 manage.py
import tornado.ioloop
from app import make_app
from models import *
if __name__ == '__main__':
Base.metadata.create_all()
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()