django 필터 만들기 실례 설명

1782 단어
django 필터 만들기
1. 수요원:
만약에 템플릿 파일에 문자열 변수가 있다면 이 문자열 변수에는 빈칸이 있을 수 없다. 마침 이 템플릿은 여러 개의 보기 함수에 많이 호출된다. 그러면 보기 함수에서 이 문자열 변수를 입을 때마다 문자열을 처리해야 한다. 이것은 상대적으로 번거롭다.django는 필터라는 방식을 제공하여 템플릿에서 통일적으로 처리할 수 있다.
2. 템플릿 라이브러리 준비 작업을 사용자 정의합니다.
템플릿 라이브러리를 만들려면 다음 두 단계로 진행합니다.
첫째, 템플릿 라이브러리를 어디에 두어야 할지 결정합니다.당신은 단독으로 관리자를 통과할 수 있습니다.py startapp에서 사용자 정의 템플릿 라이브러리를 저장하는 앱을 만듭니다.프로젝트 중 어느 앱 아래에도 놓을 수 있습니다.첫 번째 방식을 추천합니다. 첫 번째 방식은 다 쓴 후에 다른 프로젝트에 이식해서 사용할 수 있기 때문입니다.중복 편찬할 필요가 없다.단, 어떤 방식을 사용하든지 간에, 템플릿 라이브러리에 저장된 앱을 settings에 추가해야 합니다.py의 INSTALLEDAPPS 중!!!
둘째, 위에서 선택한 가방 아래templatetags 디렉터리를 만듭니다. 이 디렉터리는 모델스와야 합니다.py와views.py는 같은 차원에 있다.그리고templatetags에 두 개의 빈 파일을 만듭니다: 하나는 입니다init__.py는 이것이 일반적인 폴더가 아니라는 것을 나타냅니다. 이것은 Python 코드 패키지이고, 다른 하나는 템플릿 라이브러리에 저장할 파일입니다. (예: my template.py)그리고 이 라이브러리 파일을 사용해야 하는 템플릿 파일에서 {% load my template.py%}을 사용하여 가져오십시오. 중요한 것은 다시 한 번 말씀드리지만, 이 my 를template.py가 있는 app를settings에 추가합니다.py의 INSTALLEDAPPS에서만 사용할 수 있습니다.
3. 사용자 정의 필터를 만듭니다.
필터는 실제로 하나 또는 두 개의 매개 변수가 있는python 함수입니다.
  • 필터링해야 하는 변수
  • 전달된 값, 이 값은 비어 있음
  • 예를 들어, 변수의 모든 공백을 값으로 바꾸는 필터를 만듭니다.
    
    def removespace(value,arg):
      return value.replace(' ',arg)

    그런 다음 최근 템플릿을 등록하고 다음 코드를 사용하여 등록합니다.
    
    from django import template
    
    register = template.Library()
    
    @register.filter
    def removespace(value,arg):
      return value.replace('',arg)
    
    

    그러면 템플릿을 사용할 때 코드를 사용해서 사용하기만 하면 됩니다.
    
    {{ variable|removespace:"a" }}
    

    그러면 variable 변수의 모든 빈칸을 a로 바꿉니다.
    이상은django가 필터를 만드는 실례입니다. 궁금한 점이 있으면 댓글을 남기거나 본 사이트 커뮤니티에 가서 토론을 교류해 주십시오. 읽어 주셔서 감사합니다. 여러분께 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

    좋은 웹페이지 즐겨찾기