이 "사용자 친화적 인 URL 단편"은 일반적으로 "슬러그"라고 불리며, 이는 신문이 리드에서 조판 된 시대부터 생각한 것입니다.
일반적으로 수행하는 작업은 슬러그를 저장하는 모델에 추가 필드가 있습니다. 필드는 당신의 슬러그를 생성
class SurrogatePost(Base):
id = sa.Integer(primary_key=True)
slug = sa.String(unique=True)
title = sa.String()
class NaturalPost(Base)
id = sa.String(primary_key=True)
title = sa.String()
(당신도 당신이 "대리 기본 키 대 자연"위대한에서 토론을 :) 어디에 서 있는지에 따라 모델의 기본 키로을 가진 고려할 수 있습니다) 고유 및 색인한다 게시물이 처음 저장 될 때 게시물의 제목이 한 번만 변경되고 제목이 변경된 경우에도 다시 변경되지 않습니다. 이는 SEO 및 링크에 중요합니다.
class Post(Base)
...
def __init__(self, title, body):
self.slug = generate_slug(title)
self.title = title
self.body = body
그런 다음보기 코드에서 기본 키를 사용하는 것처럼 슬러그를 사용하여 데이터베이스에서 게시물을 조회합니다.
def my_view(request):
slug = request.matchdict['slug']
post = DBSession.query(Post).filter(Post.slug==slug).one()
...
당신이 생각하고있는 URL 스키마
성가신 수있는 모든 게시물의 모든 굼벵이가 고유 할 필요 요구 사항을 가지고 있습니다. 기본 키를 조회하는 데 사용됩니다
/posts/123/one-two-three-four
/posts/123-one-two-three-four
etc.
: 당신이 많은 뉴스 웹 사이트를 보면, 당신은 그들이 기본 키 및 슬러그 모두 URL에 존재는 "결합"URL 방식을 사용하는 것을 알 수 있습니다 데이터베이스 및 슬러그 부분의 데이터는 순전히 SEO 및 가독성을위한 것입니다.
제대로 이해한다면 쿠키를 사용하고 싶을 것입니다. 열쇠 값을 가진 쿠키를 설정하십시오. –