flask 가 정적 자원 을 수정 한 후 캐 시 파일 이 제때에 변경 되 지 않 는 문 제 를 어떻게 해결 합 니까?

1655 단어 flask정적 캐 시
run.py

from flask import url_for

@app.context_processor #       ,   html      
def inject_url():
  data = {
    "url_for": dated_url_for,
  }
  return data

def dated_url_for(endpoint, **values):
	filename = None
  if endpoint == 'static':
    filename = values.get('filename', None)
  if filename:
    file_path = os.path.join(app.root_path, endpoint, filename)
    values['v'] = int(os.stat(file_path).st_mtime) #              ,     ,     
    return url_for(endpoint, **values)
html 파일

<link rel="stylesheet" href="{{ url_for('static', filename='css/base.css') }}" rel="external nofollow" >
여기에 url 을 다시 썼 습 니 다.for 방법,뒤에 넣 었 어?v=xxx,여기 xxx 는 이 파일 의 마지막 수정 시간 스탬프 입 니 다.파일 을 수정 한 후 인자 v 에 변화 가 생 겼 습 니 다.브 라 우 저 는 서버 에 가서 새로운 정적 자원 파일 을 요청 합 니 다.
내용 확장:
flask 밟 은 구덩이
직면 한 문 제 를 모두 공유 하여 시행 착 오 를 줄 이 기 를 바 랍 니 다.
1.router 는 통일 적 으로 관리 할 수 없습니다.저 는 Django 모드 로 모든 경 로 를 urls 파일 에 설정 합 니 다.
2.router 는 일괄 적 으로 불 러 올 수 없습니다.spring 패키지 스 캔 과 유사 한 도구 류 를 찾 을 수 없습니다.
3.Template NotFound 정적 자원 을 찾 을 수 없습니다.
4.debug 모드 정적 자원 수정 이 적용 되 지 않 습 니 다.서버 를 다시 시작 해 야 합 니 다.

if name == ‘main‘:
#           
app.jinja_env.auto_reload = True
app.run(debug=True)
5.Template 참조 정적 자원 urlfor
이상 은 flask 가 정적 자원 을 수정 한 후 캐 시 파일 이 제때에 문 제 를 변경 하지 못 하 는 것 을 어떻게 해결 하 는 지 에 대한 상세 한 내용 입 니 다.flask 가 정적 자원 을 수정 한 후 캐 시 파일 이 제때에 변경 되 지 못 하 는 것 에 대한 자 료 는 다른 관련 글 에 주목 하 십시오!

좋은 웹페이지 즐겨찾기