장고에서 slug 사용하기
개요
slug는 의미있는 URL을 만드는데 사용되며, 블로그의 주소에서 주로 볼 수 있습니다.
정의
짧은 라벨로서, 문자, 숫자, 밑줄 또는 하이픈만을 포함. 일반적으로 URL에 사용. 예를 들어, 블로그 엔트리 URL은 다음과 같다고 할 때,
https://www.djangoproject.com/weblog/2008/apr/12/spring/
마지막 부분(spring)이 슬러그입니다.
출처: 용어 | Django 문서 | Django
이 글의 제목이 '장고에서 slug 사용하기'인데 이 글의 URL을 예로 들어 보겠습니다.
http://blog.jiktong.kr/1234
http://blog.jiktong.kr/%uC7A5%uACE0%uC5D0%uC11C%20slug%20%uC0AC%uC6A9%uD558%uAE30
http://blog.jiktong.kr/장고에서-slug-사용하기
마지막 예시가 slug입니다.
환경
- Django 2.2.1
장고 models.py에서 slug
from django.db import models
from django.utils.text import slugify
class MyModel(models.Model):
title = models.CharField(max_length=50)
slug = models.SlugField(max_length=201, db_index=True, unique=True, allow_unicode=True)
created = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-created']
index_together = [['id', 'slug']]
- allow_unicode=True 영문을 제외한 다른 언어도 사용할 수 있도록 합니다. => 한글지원
- db_index=True 해당 필드를 인덱스 열로 지정합니다.
- index_together =
[['id', 'slug']]
'id'와 'slug'필드를 묶어서 색인하는 '멀티 컬럼 색인'을 지원합니다.
장고 urls.py에서 slug
from django.urls import path
from . import views
urlpatterns = [
path('articles/<int:year>/<int:month>/<slug:slug>/', views.article_detail),
]
'프로그래밍 > python' 카테고리의 다른 글
장고에서 소셜인증하기 - 1. 파이썬 패키지 설치 (0) | 2019.05.10 |
---|---|
파이썬 사용환경 만들기 (0) | 2017.01.14 |
파이썬의 정수 나누기 연산 (0) | 2016.11.29 |