django_friendlyurls Djangoのアプリは、あなたが直接ビューを返すURLを作成することができますです。
何302リダイレクトはありません。
最も一般的な使用例は、次のようなユーザープロファイルを返すURLを持っているということです
http://www.example.com/user/1
フレンドリーなURLは、ユーザーがまたに行くことによってアクセスすることができるように、URLを作成することができます:
http://www.example.com/jeff
キーは、ブラウザのアドレスバーがhttp://www.example.com/user/1に変化しないことである
Webサーバはhttp://www.example.com/user/1と同じHTML文書を返す
のフローの
アプリケーションが文字列 'ジェフ」を検索し、それがabsolute_pathを読み出して、URLリゾルバを通じて2回目にそれを置くことによってそれを解決しようとフレンドリーURLの一致が見つかった場合。
それは解像度が見つかった場合には、そのビューを返します。
の使用法の
ここでは、ユーザーのfriendly_urlsを実装する方法の例を示します。
私はmodels.pyでこれを置く:
django.contrib.contenttypesからジェネリックインポート
friendlyurlsからUrlMappingをインポート
django.contrib.auth.modelsインポートユーザーから
デフはget_absolute_url(自己):
  U '/ユーザー/%s'は%self.id返す
User.add_to_class( 'friendly_urls」、generic.GenericRelation(UrlMapping))
User.get_absolute_url =はget_absolute_url
これは基本的に猿は、フィールドを追加するためにUserモデルにパッチを適用。次に行うことができます
ユーザー= User.objects.get(PK = 1)
user.friendly_urls.all()
これは、すべてのフレンドリーURLのリストを取得します。
あなたは猿のパッチにすべてのモデルを持っているべきではありません。
の問題点/質問の
friendlyurlsはURLマッピングを格納するテーブルを作成するため、syncdbをを実行することを忘れないでください。
の追加設定の
FRIENDLYURLS_IGNORE_CASE - あなたが道を見つけようとしたときにケースを無視したい場合は、これをtrueに設定してください。デフォルト:false
の要件の
- のPythonます。
- ジャンゴます。
コメントが見つかりません