私は私のurlpatternsがあるチュートリアルに従っています:
urlpatterns = patterns('',
url(r'^passwords/$', PasswordListView.as_view(), name='passwords_api_root'),
url(r'^passwords/(?P<id>[0-9]+)$', PasswordInstanceView.as_view(), name='passwords_api_instance'),
...other urls here...,
)
PasswordListViewおよびPasswordInstanceViewはクラスベースのビューであると想定されています。 nameパラメーターの意味を理解できませんでした。ビューに渡されるデフォルトのパラメーターですか?
いいえ。それはDjangoは、コードまたはテンプレートからビューを参照する必要がある場合にビューに名前を付けるオプションを提供します。これは、ハードコーディングを避けるため、便利で良い方法です。コードまたはテンプレート内のURL実際のURLを変更しても、名前で参照するため、他に何も変更する必要はありません。
ビュー付きのe.x:
from Django.http import HttpResponseRedirect
from Django.core.urlresolvers import reverse #this is deprecated in Django 2.0+
from Django.urls import reverse #use this for Django 2.0+
def myview(request):
passwords_url = reverse('passwords_api_root') # this returns the string `/passwords/`
return HttpResponseRedirect(passwords_url)
もっと こちら 。
例テンプレートで
<p>Please go <a href="{% url 'passwords_api_root' %}">here</a></p>
もっと こちら 。