2011-01-09 8 views
4

私のアプリケーションでは、共有できる一意のURL(リソースごとに1つ)を作成する必要があります。 Googleカレンダーのようなものカレンダーのプライベートアドレス。私はこれのベストプラクティスが何かを知りたい。共有するリソースの一意のURL /アドレスの作成 - ベストプラクティス

私のアプリケーションがDjangoに役立つ場合は、

この質問に詳しい説明が必要かどうかお知らせください。

答えて

3

これは非常に簡単です。

def resource_func(request, resource_name): 
    # look up resource based on unique string resource_name... 

最後に、あなたもあなたのテンプレートでこれを使用して取得、:

url(r'/resource/(?P<resource_name>\w+)', 'app.views.resource_func', name="priv-resource"), 

次にあなたが呼ばれる関数でviews.pyでこれを扱う:あなたのurls.pyファイルでは、このようなURLがしたいです使用して命名:

class ResourceModel(models.Model) 
    resource_name = models.CharField(max_size=somelimit, unique=True) 

{% url priv-resource string %} 

はちょうどあなたのmodels.pyでのことを確認

私は、オブジェクトの保存時にこのフィールドを自動的に生成するためにシグナルハンドラを使用したくなるかもしれません。 documentationを参照してください。

+0

ありがとうございました。私はリソースIDの '/ resource /(?P \ d +)'を持っています。 \ w +も使う必要があるなら、\ w +の前に\ d + urlconfを置いておくべきだと思いますか? –

+0

'\ w +'は非空白文字の正規表現ですが、 '\ d +'は任意の数を意味します。適切であると思われるものを使用してください。 –

関連する問題