2023. 6. 19. 10:53ㆍdjango/Views
Django의 커스텀 템플릿 태그 및 필터는 Django 프로젝트의 임의의 앱에서 만들어질 수 있습니다. 이러한 태그와 필터를 여러 곳에서 사용하려면 템플릿 태그 및 필터를 포함하는 앱을 Django 프로젝트에서 재사용 가능한 앱으로 생성하는 것이 좋습니다.
다음은 커스텀 템플릿 태그 및 필터를 재사용 가능한 앱으로 생성하는 과정입니다:
1. Django 프로젝트의 루트 디렉토리에서 다음과 같은 명령을 실행하여 새로운 앱을 생성합니다:
python manage.py startapp custom_utils
2. 생성한 앱의 디렉토리 구조는 다음과 유사하게 될 것입니다:
```
custom_utils/
├── __init__.py
├── templatetags/
│ ├── __init__.py
│ └── custom_filters.py
├── ...
└── models.py
```
3. `custom_filters.py` 파일을 열고, 아래와 같이 커스텀 필터를 작성합니다:
```
from django import template
register = template.Library()
@register.filter
def phonenumber(value):
if len(value) == 11:
return f"{value[:3]}-{value[3:7]}-{value[7:]}"
else:
return value
```
4. 재사용 가능한 앱으로 등록하기 위해 `custom_utils` 디렉토리에 있는 `apps.py` 파일을 열고, 다음과 같이 `CustomUtilsConfig` 클래스를 수정합니다:
```
from django.apps import AppConfig
class CustomUtilsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'custom_utils'
```
5. Django 프로젝트의 `settings.py` 파일에서 `INSTALLED_APPS` 설정을 업데이트하여 새로운 앱을 추가합니다:
```
INSTALLED_APPS = [
...
'custom_utils.apps.CustomUtilsConfig',
...
]
```
6. 이제 커스텀 필터를 사용하기 위해 Django 템플릿에서 다음과 같은 코드를 작성하여 필터를 로드합니다:
```
{% load custom_filters %}
```
7. 필터를 사용하여 전화번호를 원하는 형식으로 변경할 수 있습니다:
```
{{ pinhisttm_form.customer_tel|phonenumber }}
```
위의 방법을 따라 커스텀 템플릿 태그와 필터를 재사용 가능한 앱으로 만들어보세요. 그러면 여러 곳에서 해당 태그와 필터를 사용할 수 있습니다.
'django > Views' 카테고리의 다른 글
dict (0) | 2023.07.16 |
---|---|
django QuerySet에 field 추가하는 방법 (0) | 2023.06.20 |
request.GET 에 대한 예제 (0) | 2023.06.13 |
django request 문법 (0) | 2023.06.13 |
from django.db.models import Q 오류발생 (0) | 2023.06.09 |