2012-10-10 7 views
30

yılında adı parametresi benim urlpatterns olan bir öğretici takip ediyorum:Django, 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 ve PasswordInstanceView sınıf temelli görüşleri olması gerekiyordu. Ben adı parametrenin anlamını çözemedim. Görünüme aktarılan varsayılan bir parametre mi? Öyle

cevap

39

sayılı sadece django size kod veya şablonlardan onlara başvurmak için gerektiğinde kullanılmak üzere görüşlerini isim seçeneği sunar. Eğer kod veya web şablonları içine URL'ler hardcoding önlemek için bu uygulama yararlı ve iyidir. Eğer gerçek url değiştirmek bile, adıyla onlara bakın olacağından, başka bir şey değiştirmek gerekmez. manzaralı

e.x:

from django.http import HttpResponseRedirect 
from django.core.urlresolvers import reverse 

def myview(request): 
    passwords_url = reverse('passwords_api_root') # this returns the string `/passwords/` 
    return HttpResponseRedirect(passwords_url) 

Daha here.

e.x. sayfalarda, numaralı telefondan . views.py, `resolve_url içinde

+0

('passwords_api_root', args)' benim için çalıştı – BeatriceThalo