복사기 Slugify | 파이썬 템플릿 | 쿠키 커터 사용

3343 단어 python
내가 자동화를 좋아한다는 것은 비밀이 아니며 최근에 내가 선택한 템플릿 프레임워크는 복사기였습니다. 최근에 내가 겪은 문제 중 하나는 템플릿 디렉토리 이름에 공백이 있다는 것입니다. 이렇게 하면 명령을 이스케이프해야 하므로 명령을 실행하기가 더 어려워지고 URL로 끝나는 경우 온통 추한 결과%20가 됩니다.

Cookiecutter에 솔루션이 있습니다.



Yes the solution comes from a competing templating framework.



나는 pipx로 복사기를 설치하므로 slugify 필터를 사용하려면 내 복사기 환경에 쿠키커터를 주입해야 합니다.

pipx inject copier cookiecutter


일반 가상 환경을 사용하는 경우 pip로 설치할 수 있습니다.

pip install copier cookiecutter


템플릿에 확장 프로그램 추가



복사기.yml

이제 확장을 활성화하려면 템플릿의 copier.yml 파일에서 확장을 선언해야 합니다.

_jinja_extensions:
    - cookiecutter.extensions.SlugifyExtension


그것을 사용 | 슬러그화하다



그걸 써

이제 그것을 사용하려면 변수를 slugify하려는 모든 곳에서 slugify로 파이프하기만 하면 됩니다.

❯ tree .
.
├── copier.yml
├── README.md
└── {{ site_name|slugify }}
    └── markata.toml.jinja

1 directory, 3 files


다음은 copier.yml의 축소 버전입니다.

site_name:
  type: str
  help: What is the name of your site, this shows in seo description and the site title.
  default: Din Djarin

_jinja_extensions:
    - cookiecutter.extensions.SlugifyExtension


결과



템플릿을 실행하면 다음과 같이 보입니다.




그들의 문서에서 바로



다음 섹션은 cookiecutter docs에서 바로

슬러그파이 확장


cookiecutter.extensions.SlugifyExtension 확장은 문자열을 점선("slugified") 버전으로 변환하는 템플릿에 slugify 필터를 제공합니다.

{% "It's a random version" | slugify %}


다음과 같이 출력됩니다.

it-s-a-random-version


위의 예에서 '와 같이 일부 특수 문자도 다르게 취급하므로 단순한 공백 바꾸기와 다릅니다. 이 함수는 다음의 slugify 함수에 전달할 수 있는 모든 인수를 허용합니다.python-slugify . 예를 들어 출력을 변경하려면it-s-a-random-version ~ it_s_a_random_version , separator 매개변수
전달됩니다: `slugify(separator='')`.

좋은 웹페이지 즐겨찾기