0

次のように、ブログ投稿のタイトルを django で自動生成された URL に変換できるようにしたいと考えています。

  • title: これは記事 #1 です => blog/article-1
  • title: スパゲッティとミートボールの調理 => blog/cooking-spaghetti-meatballs
  • タイトル: #%#@$! h4h4h4 スパム 5@#$! => ブログ/h4h4h4-スパム

それらは作成時に自動生成され、余分な単語/文字をフィルタリングする必要があります。ブログ投稿を保存するたびに、タイトルを変更すると、URL も変更される場合があります。

私は間違いなくこれを最初からプログラムできました。ただし、たとえば Drupal には、新しいブログ投稿を送信するとすぐにこれらの URL を生成する「url エイリアス」および「autopath」と呼ばれるモジュールが既に存在していました。誰かが 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

mipadi が言及した SlugField の上に構築されたDjango Autoslugと呼ばれる非常に優れたシンプルなモジュールがありますが、自動的にスラッグを作成し、データベースの一意性をチェックします (デフォルトでは、「-#」を追加します)。一意になるまでスラグの最後まで)、フィールドに保存します。

于 2012-07-16T20:15:41.620 に答える