posts - 431,  comments - 344,  trackbacks - 0

It's a way of generating a valid URL, generally using data already obtained. For instance, using the title of an article to generate a URL. I'd advise to generate the slug, using a function, given a title (or other piece of data), rather than setting it manually.

An example:

<title> The 46 Year Old Virgin </title>
<content> LOL!!! What a loser heh </content>
<slug> the-46-year-old-virgin </slug>

Now let's pretend that we have a Django model such as:

class Article():
    title
= models.CharField(max_length=100)
    content
= models.TextField(max_length=1000)
    slug
= models.SlugField(max_length=40)

How would you reference this object with a URL, with a meaningful name? You could use Article.id so the URL would look like this:

www.example.com/Article/23

Or, you could reference the title like so:

www.example.com/article/The 46 Year Old Virgin

Problem is, spaces aren't valid in URLs, they need to be replaced by %20 which is ugly, making it the following:

www.example.com/article/The%2046%20Year%20Old%20Virgin

That's not solving our meaningful URL. Wouldn't this be better:

www.example.com/article/the-46-year-old-virgin

That's a slug. 'the-46-year-old-virgin'. All letters are downcased and spaces are replaced by hyphens '-'. See the URL of this very webpage for an example!

posted on 2009-04-28 14:07 周锐 阅读(220) 评论(0)  编辑  收藏 所属分类: Python

只有注册用户登录后才能发表评论。


网站导航: