답변 1개
채택된 답변
+20 포인트
녹두탐
Expert
1년 전
캐시파일 이름은 `render_latest_posts()` 함수 내부에서 선언되며,
`latest-{게시판코드}-{접속기기}-{스킨이름}-{게시글 수}-{제목길이}-{문자열}.html` 의 규칙을 가지고있습니다.
- 6 : 출력할 게시글 수
- 24 : 제목 길이 제한 수
- d26e66 : 문자열을 해싱한 임의의 6자리 문자열
또한 캐시파일 생성은 `render_latest_posts()` 함수 끝 부분에서 `FileCache` 클래스의 `create()` 함수를 통해 생성됩니다.
</p>
<p># lib > board_lib.py</p>
<p> </p>
<p>def render_latest_posts(request: Request, skin_name: str = 'basic', bo_table: str='',</p>
<p> rows: int = 10, subject_len: int = 40):</p>
<p> ...</p>
<p> device = request.state.device</p>
<p> file_cache = FileCache()</p>
<p> cache_filename = f"latest-{bo_table}-{device}-{skin_name}-{rows}-{subject_len}-{file_cache.get_cache_secret_key()}.html"</p>
<p> cache_file = os.path.join(file_cache.cache_dir, cache_filename)</p>
<p> </p>
<p> ...</p>
<p> </p>
<p> temp = templates.TemplateResponse(f"latest/{skin_name}.html", context)</p>
<p> temp_decode = temp.body.decode("utf-8")</p>
<p> </p>
<p> # 캐시 파일 생성</p>
<p> file_cache.create(temp_decode, cache_file)</p>
<p> </p>
<p> return temp_decode</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
s
sinbi
1년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
( ^_______ ~ ) ===b