0

我希望能够将博客文章的标题转换为 django 中自动生成的 URL,如下所示:

  • 标题:这是文章 #1 => blog/article-1
  • 标题:烹饪意大利面和肉丸 => 博客/烹饪意大利面肉丸
  • 标题:#%#@$!h4h4h4 垃圾邮件 5@#$! => 博客/h4h4h4-垃圾邮件

它们应该在创建时自动生成并过滤多余的单词/字符。每次保存博客文章时,如果更改标题,URL 也可能会更改。

我绝对可以从头开始编程。但是,例如在 Drupal 中,已经有一个名为 'url alias' 和 'autopath' 的模块会在您提交新博客文章后立即生成这些 url。我想知道是否有人已经为 Django 1.4 构建了一些简单的东西。

4

3 回答 3

3

您想使用SlugField ,并使用 Django 的预填充字段功能将其与标题字段配对。

于 2012-07-16T17:18:11.343 回答
1
from django.template.defaultfilters import slugify
slugify("b b b b")
u'b-b-b-b'
于 2012-07-16T17:22:29.687 回答
0

我一直在使用一个非常漂亮、简单的模块,称为Django Autoslug ,它构建在 mipadi 提到的 SlugField 之上,但它会自动为您创建 slug,检查数据库的唯一性(默认情况下,添加“-#”到 slug 的末尾,直到它是唯一的),并将其存储到一个字段中。

于 2012-07-16T20:15:41.620 回答