2017-10-05 4 views
0

一般

私は名前空間について読んだことがありますが、それを試しましたが、私には分かりません。名前空間を使用する利点は何ですか?名前空間を使用する利点は何ですか?

私は名前空間で何

私はアプリで

url(r'^myapp/', include('myapp.urls', namespace='myapp')), 

によって、プロジェクトのurls.pyで私のアプリは、私はアプリのテンプレートで

url(ur'^$', index, name='index'), 

を持っているのurls.pyが含ま私はリンクを設定することができます

<a href="{% url 'myapp:index' %}"> 

問題

再利用可能なアプリケーションとして 'myapp'を共有すると、ユーザーは指定された名前空間 'myapp'を使用してアプリケーションを含めることになります。 urls.pyの 'index'の代わりに 'myapp-index'というURL名を付けてはいけないのはなぜですか?

url(ur'^$', index, name='myapp-index'), 

とテンプレートで

<a href="{% url 'myapp-index' %}"> 

答えて

1

あなたは 'myappにインデックス' であなたのURLに名前を付ける場合は、これは名前-間隔の一種です。 Djangoのネームスペース機能は、ベストプラクティスを助け、標準を持っていることです。標準は、パターンを視覚化するのに役立ちます。

名前空間を使用する必要はありませんが、参考になります。サードパーティのアプリケーション(またはプロジェクト内の複数のアプリケーション)との競合を避けるために使用します。

詳しくはhttps://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces

関連する問題