Django에서 Git 제출 정보와 함께 클라이언트의 캐시를 강제로 플러시하는 방법

1013 단어 django
전언
GIT 버전에 맞추어 클라이언트 자원 캐시를 새로 고침하는 방법
utils/misc.py
import subprocess
from datetime import datetime

def get_git_changeset(absolute_path):
    repo_dir = absolute_path
    git_show = subprocess.Popen(
        'git show --pretty=format:%ct --quiet HEAD',
        stdout=subprocess.PIPE, stderr=subprocess.PIPE,
        shell=True, cwd=repo_dir, universal_newlines=True
    )
    timestamp = git_show.communicate()[0].partition('
')[0] try: timestamp = datetime.utcfromtimestamp(int(timestamp)) except ValueError: return "" changeset = timestamp.strftime("%Y%m%d%H%M%S") return changeset

4git show --pretty=format:%ct --quiet HEAD 현재 제출한 unix timestamp을 받아서 날짜로 변환합니다
project/settings.py
from utils.misc import get_git_changeset

STATIC_URL = '/static/{}/'.format(get_git_changeset(BASE_DIR))

그리고 설정에서 이 시간을 읽고 URL로 조합하여 서로 다른 URL 요청이 자원을 요청하는 목적을 달성합니다

좋은 웹페이지 즐겨찾기