Django:获取当前项目的git修订号
对于我的 django 项目,我需要读取为该站点提供支持的项目的当前 git 修订号,假设该项目是 git 存储库的根目录。
这样我将保持我的 css 和 js 页面始终是最新的:
<link rel="stylesheet" type="text/css" href="/media/css/app.css?v46">
其中 46 是修订号。
For my django project, I need to read the current git revision number of my project that powers the site, assuming the project is the root dir of the git repository.
This way I will be keeping my css and js pages always up to date as such:
<link rel="stylesheet" type="text/css" href="/media/css/app.css?v46">
Where 46 is the revision number.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
好的,很抱歉回答您的问题,但您可能需要注意以下几点:
.css
文件完全无关 ,您的网站也会刷新其缓存给客户)last-modified
文件系统属性进行相同的操作 (os.path.getmtime("path.to.file")
)Okay, sorry for not answering your question but there are a couple of points you might want to note:
.css
file served out to clients)last-modified
filesystem property for the same (os.path.getmtime("path.to.file")
)您可能想研究一下可以为您解决这个问题的项目,例如 django-mediagenerator:
http://www.allbuttonspressed.com/projects/django-mediagenerator
无需重新发明轮子;)
You might want to look into projects which take care of this problem for you, like django-mediagenerator:
http://www.allbuttonspressed.com/projects/django-mediagenerator
No need to reinvent the wheel ;)
我通过向我的 django 项目添加 templatetag 解决了这个问题:
在 proj/templatetags 中,添加了 version.py:
然后,在我的 base.html 中,添加:
如果您根据日期/时间选择,则可以调整它以使用版本号,然后附加到您的样式表/js 文件中。
I solved this by adding a templatetag to my django project:
in proj/templatetags, added version.py:
Then, in my base.html, adding:
You could tweak it to use a version num if you choose based on date/time, then append to your stylesheets/js files.