Tag
vue.js 작성전 3가지를 수정한다.
1. post table의 tags column 추가
2. post table의 owner column 추가
3. settings.py를 분리해서 개발용과 배포용으로 나눈다.
* 블로그에 태그 기능을 개발하는 경우에 직접 개발할수도 있고 이미 나와있는 장고 패키지를 사용할 수도 있다. (구글에 django tag 검색하거나 djangopackages.org 에서 tag정도로 검색해보면 많음. 깃허브와 도큐먼트를 보고 사용해보자.)
a. 설치
파이참 > File > Settings > Project > Python Interpreter > + > django-taggit 검색 > Install Package > OK
(django taggit을 설치한 것은 startapp에 해당한다.)
b. settings.py
docs에 나타난대로 진행해보자
django-taggit.readthedocs.io/en/latest/index.html
- Add "taggit" to your project's INSTALLED_APPS setting.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'taggit',
'blog.apps.BlogConfig',
]
- 대소문자 구별없는 설정항목 (CASE-INSENSITIVE): set the TAGGIT_CASE_INSENSITIVE setting to True
c. models.py
Post class 에 tags= TaggableManager(blank=True)
d. admin.py
from django.contrib import admin
from blog.models import Post
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display=('id','title','modify_dt', 'tag_list')
def get_queryset(self, request):
return super().get_queryset(request).prefetch_related('tags')
def tag_list(self, obj):
return u", ".join(o.name for o in obj.tags.all())
* docs 참고
e. taggit 추가를 db에 반영
python manage.py makemigrations
python manage.py migrate
'웹 프로그래밍' 카테고리의 다른 글
[Django Tutorial] Blog 만들기 (7) (0) | 2021.04.19 |
---|---|
[Django Tutorial] Blog 만들기 (6) (0) | 2021.04.19 |
[Django Tutorial] Blog 만들기 (4) (0) | 2021.04.19 |
[Django Tutorial] Blog 만들기 (3) (0) | 2021.04.19 |
[Django Tutorial] Blog 만들기 (2) (0) | 2021.04.19 |