我正在编写一个使用django-rest-framework的API(但是框架,此时还没有语言问题)。我有一个诊断API端点“/ version”,它从文件中读取一些数据(最后一个git签入ID),然后将其吐出。代码如下所示:
class Version(APIView):
permission_classes = (IsAdminUser,)
def get(self, request):
git_version_file = open('gitversion', 'r')
checkin_id = git_version_file.read().strip()
return Response({'version' : checkin_id})
通常(在我的开发机器上)这很容易,因为我可以调用git post-commit钩子来创建文件(命令将是git rev-parse --short HEAD > gitversion
。显然,这个文件不能被检入git。
但是,我希望这适用于我在heroku上部署的实例。当然,我可以使用“heroku releases”命令,但是我希望它以编程方式可用(由那些无法访问“heroku”命令行命令的人)。
我不能在一次性dyno上运行它,因为文件系统不一样。我不知道如何才能实现这一点。