向任何项目添加django和drf驱动的api的最简单方法
bookrest的Python项目详细描述
bookrest-将rest api添加到任意db
Bookrest允许您向任意数据库添加一个API(和可浏览的html)——几乎是任意的,表必须有PKs。 数据库不需要由Django管理
安装和使用
pip install bookrest
然后在你的settings.py
,
INSTALLED_APPS=[# ..."rest_framework","bookrest",]
向名为bookrest
的settings.DATABASES
添加一个键,并将其指向要作为api公开的db。保持您的default
db原样,您可以将其用于用户管理和其他django应用程序。
DATABASES={"default":{"ENGINE":"django.db.backends.sqlite3","NAME":os.path.join(BASE_DIR,"db.sqlite3"),},"bookrest":{"ENGINE":"django.db.backends.sqlite3","NAME":os.path.join(BASE_DIR,"data/sample.sqlite3"),},}
将您的url连接到bookrest.urls
urlpatterns=[# ...path("api/",include("bookrest.urls"))]
?砰你在做生意。所有表都将具有完整的读/写API
待办事项
- [X]使用sqlite进行测试
- [X]在Pypi上发布
- []使用Postgres进行测试
- []Mysql测试
- []添加设置以启用只读API
- []启用circleci
- []悄悄地删除没有pk的表,而不是失败(坏主意??)
灵感来源于
这个项目的灵感来自datasette。我喜欢dataset,但是因为drf有一个geat可浏览的api,django有强大的内省功能,所以我想用django+drf来实现。
Bookrest拥有DRF-browsable API、coreapi、过滤和分页的所有功能在settings.py
中设置一个REST_FRAMEWORK
设置,然后bookrest
将应用它
您可以将bookrest
放在表上,这样可以简化读取。