장고에서 '슬렁'이 뭐죠?
장고 코드를 읽을 때 모델에서는 '슬랙'이라고 불리는 것을 자주 볼 수 있습니다.이게 뭔지 잘 모르겠지만 URL과 관련이 있다는 건 알고 있어요.이 민달팽이 물건은 언제 어떻게 쓰기로 되어 있나요?
(이 용어집에서 그 정의를 읽었습니다.)
"slug"는 유효한 URL을 생성하는 방법으로, 일반적으로 이미 얻은 데이터를 사용합니다.예를 들어, slug는 기사 제목을 사용하여 URL을 생성하기 때문에 수동으로 설정하는 것이 아니라 제목(또는 다른 데이터)에 따라 함수를 사용하여 slug를 생성하는 것이 좋습니다.
예:
<title> The 46 Year Old Virgin </title>
<content> A silly comedy movie </content>
<slug> the-46-year-old-virgin </slug>
이제 다음과 같은 Django 모델이 있다고 가정해 보겠습니다.
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField(max_length=1000)
slug = models.SlugField(max_length=40)
URL과 의미 있는 이름을 가진 이 개체를 어떻게 참조하시겠습니까?예를 들어, Article.id 를 사용하면, URL 는 다음과 같이 됩니다.
www.example.com/article/23
또는 다음과 같이 제목을 참조할 수 있습니다.
www.example.com/article/The 46 Year Old Virgin
은 URL로 .%20
됩니다.
www.example.com/article/The%2046%20Year%20Old%20Virgin
어느 쪽의 시도에서도, 매우 의미 있고 읽기 쉬운 URL이 되는 것은 아닙니다.이것이 더 낫다:
www.example.com/article/the-46-year-old-virgin
예에서는 " " 입니다.the-46-year-old-virgin
slug:하며, 대신 을 사용하는 은 slug입니다.-
다른 예에 대해서는, 이 Web 페이지의 URL도 참조해 주세요.
이력 콘텍스트를 몇 가지 제시하겠습니다.
"슬래그"라는 용어는 프레스 폰트가 만들어진 주조 금속(이 경우 납)과 관련이 있습니다.그 후, 모든 종이는 정기적으로 폰트를 새로운 금형에 재녹여 다시 주조했습니다. 왜냐하면 많은 인쇄가 끝난 후, 폰트가 닳았기 때문입니다.나 같은 견습생들은 그곳에서 경력을 쌓기 시작했고, (지금은 아니다) 꼭대기까지 갔다.
타이포그래프는 글의 본문을 거꾸로 짜야 했고 글자를 현명하게 적어야 했다.그래서 인쇄 시에는 글자가 종이에 곧게 인쇄되어 있을 것입니다.모든 타이포그래프는 인쇄된 신문만큼 빠르게 반사된 신문을 읽을 수 있었다.따라서 (달팽이처럼) 느린 이야기(마지막으로 고쳐진)도 벤치에 앉아 기다리는 사람이 많았는데, 대부분 제목 전체가 더 읽기 쉬웠다.마지막 조립과 최종 인쇄 전에 마지막 수정(저녁 용지)을 위한 "핫" 뉴스가 벤치에서 기다리고 있었다.
장고는 캔자스에 있는 로렌스 저널의 사무실에서 나왔다.아마도 인쇄 전문용어가 여전히 남아있을 것이다.프랑스에서 온 '짱고 열혈' '올드 슬러그 보이'
'slug'라는 용어는 신문 제작계에서 유래했다.
제작 과정에서 붙여진 비공식적인 이름입니다.이 이야기는 비트 리포터에서 편집자까지(이것이 더 존재한다고 가정할 때) "인쇄 프레스"에 이르기까지, 예를 들어 "케이트 앤 윌리암" 스토리의 오류를 고쳤습니까?"와 같이 언급됩니다.
일부 시스템은 스토리의 하기 위해 로 slug를 를 들어, 「Django」(Django)의 URL은 「Slug」입니다.예를 들어 다음과 같습니다.www.mysite.com/archives/kate-and-william
.
스택 오버플로우 자체도 GEB-ish(a) 자기 참조를 사용하여 이 작업을 수행합니다.https://stackoverflow.com/questions/427102/what-is-a-slug-in-django/427201#427201
, 를 "slug"로 할 수 blahblah
그래도 괜찮을 거야
시나리오가 각 장면의 시작 부분에 "슬렁한 선"을 가지고 있기 때문에, 그 장면의 배경(어디, 언제 등)을 설정했을지도 모른다.그것은 뒤에 이어지는 것의 프리미스 또는 서문이라는 점에서 매우 유사하다.
라이노타이프 기계에서, 슬러그는 각각의 글자 형태로 만들어진 한 줄의 금속 조각이었다.라인 전체에 1개의 슬러그를 만드는 것으로, 종래의 문자별 구성을 큰폭으로 개선했습니다.
다음은 단순한 추측이지만, slug의 초기 의미는 위조 동전을 의미하는 것이었다.사용법이 인쇄 용어로 변환되고(원래 문자를 사용하여 슬래그를 눌러야 했기 때문에), 거기서부터 '금속 조각' 정의에서 '스토리 요약' 정의로 바뀌는 것을 예상할 수 있었다.거기서부터, 적절한 인쇄로부터 온라인의 세계에의 짧은 걸음입니다.
(a) 더글라스 호프스타터의 "Godel Escher, Bach"는 내가 (적어도) 위대한 현대 지적 작품 중 하나라고 생각한다.그의 다른 작품인 "Metamagical Themas"도 확인해 보세요.
슬래그는 신문 용어이다.slug는 문자, 숫자, 밑줄 또는 하이픈만을 포함하는 무언가에 대한 짧은 레이블입니다.일반적으로 URL에서 사용됩니다(Django docs에서처럼).
Django의 slug 필드는 동적으로 작성된 웹 페이지의 유효한 URL을 저장 및 생성하는 데 사용됩니다.
스택 오버플로에 이 질문을 추가하고 동적 페이지를 생성한 것과 마찬가지로 주소 표시줄에 공백 대신 "-"가 표시된 질문 제목이 표시됩니다.그게 바로 민달팽이밭의 일이다.
당신이 입력한 제목은 다음과 같았습니다.-> 장고에서 'slug'은 무엇입니까?
슬러그 필드에 저장하면 "what-is-a-slug-in-django"가 됩니다(이 페이지의 URL 참조).
Slug은 특정 콘텐츠에 대한 URL 친화적인 짧은 레이블입니다.문자, 숫자, 밑줄 또는 하이픈만 포함됩니다.slug는 일반적으로 각 콘텐츠와 함께 저장되며 URL 문자열로 전달됩니다.
SlugField를 사용하여 Slug을 생성할 수 있습니다.
예:
class Article(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=100)
제목을 민달팽이로 쓰고 싶다면 장고는 간단한 기능을 가지고 있다.slugify
from django.template.defaultfilters import slugify
class Article(models.Model):
title = models.CharField(max_length=100)
def slug(self):
return slugify(self.title)
고유성이 필요한 경우 추가unique=True
슬러그 필드에서.
예를 들어, 앞의 예에서는 다음과 같습니다.
class Article(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=100, unique=True)
슬러그 처리를 하는 것이 귀찮습니까?걱정하지 마세요.이 플러그인이 도움이 됩니다.django-autoslug
여기서부터.
"Slug"은 신문 용어이지만, 여기서 의미하는 것은 URL의 마지막 부분입니다. 예를 들어 "About Django"라는 제목의 게시물은 자동으로 "bit about django"가 됩니다(물론 자동 생성된 슬러그가 마음에 들지 않으면 쉽게 변경할 수 있습니다).
이 URL은 좀 더 인간적으로 설명하기 위해 존재하지만 웹 서버에 의해 반드시 요구되지는 않습니다. - 장고의 "slug"이란 무엇입니까?slag는 in-django-what-is-a-flash'이지만 slag는 제공된 페이지를 결정하는 데 사용되지 않습니다(적어도 이 사이트에서는).
django-admin에서도 자동 슬러그.ModelAdmin에서 추가:
prepopulated_fields = {'slug': ('title', )}
이하와 같이:
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title', 'slug')
search_fields = ('content', )
prepopulated_fields = {'slug': ('title', )}
슬러그
문자, 숫자, 밑줄 또는 하이픈만 포함하는 무언가의 짧은 레이블입니다.일반적으로 URL에서 사용됩니다.예를 들어, 일반적인 블로그 엔트리 URL의 경우:
https://www.djangoproject.com/weblog/2008/apr/12/spring/ 마지막 비트(봄)는 slug입니다.
슬래그는 웹 사이트의 특정 페이지를 읽기 쉬운 형태로 식별하는 URL의 부분입니다.
예를들면,/building-your-1st-django-site
.
슬러그만 포함:
- 문자: a-z, A-Z
- 번호 : 0 ~ 9
- 밑줄 : _
- 하이픈 : -
을 ""로 표시하지 흉한 할 수 .url " url " ecommerec " " " valid - urls " 。www.myecom.com/product/5432156
보여 줄 수 요.www.myecom.com/product/iphone11
이것은 유효한 URL을 생성하는 방법으로, 일반적으로 이미 취득한 데이터를 사용합니다.예를 들어, 문서 제목을 사용하여 URL을 생성합니다.
Django에서 Slug은 인간 친화적이고 읽기 쉬운 URL을 동적으로 생성하기 위해 사용됩니다. 예를 들어, 이 페이지의 현재 URL은 다음과 같습니다.장고어로 '슬렁'이란 무엇인가?
URL이 실제 질문으로 어떻게 슬러지 되었는지 확인하세요(장고어로 슬러지란 무엇입니까)
언급URL : https://stackoverflow.com/questions/427102/what-is-a-slug-in-django
'programing' 카테고리의 다른 글
Perl과 PHP의 차이점 (0) | 2022.09.06 |
---|---|
Dapper를 사용하여 BINARY(16)를 GUID에 매핑하려면 어떻게 해야 합니까? (0) | 2022.09.06 |
MySQL SELECT를 사용하여 가상 열을 생성하는 방법 (0) | 2022.09.06 |
핸들러가 추상적이므로 인스턴스화할 수 없습니다. (0) | 2022.09.06 |
GIS: PostGIS/PostgreSQL vs. MySql vs.SQL Server? (0) | 2022.09.06 |