2009-08-11 10 views
2

Ich versuche Schlüsselwortargumente mithilfe eines Wörterbuchs an eine Django-Ansicht zu übergeben, aber beim Versuch, auf die URL zuzugreifen, laufe ich immer in TypeError (der Fehler ist: "add_business_contact() hat ein unerwartetes Schlüsselwort-Argument 'info_models'" erhalten. Der Code ist:TypeError beim Übergeben von Wörterbuchargumenten an eine Ansicht über urls.py

urlpatterns = patterns('business.views', 
    # ... 
    url(r'^(?P<business_id>[\w\._-]+)/edit_contact$', 'add_business_contact', { 
     'info_models': [Email, PhoneNumber, URL] }, name='business_contact'), 
    # ... 
) 

und die entsprechende Ansicht:

@login_required 
def add_business_contact(request, business_id, *args, **kwargs): 
    # ... 
    info_models = kwargs.pop('info_models', None) 
    # .... 

Wenn ich das Wörterbuch Argument aus der URL() Funktion zu entfernen, erreicht sie glücklich und führt die Ansicht (wenn auch falsch, da es doesn‘ Ich habe dieses Argument). Irgendwelche Ideen, warum es das macht? Ich folge einem Beispiel aus dem Django-Buch (http://djangobook.com/en/2.0/chapter08/), wenn das überhaupt hilft.

Antwort

1

Wooops. Ein bisschen peinlich, aber ich habe die Funktion kopiert/eingefügt, während ich daran gearbeitet habe, und das Original nicht umbenannt. Es funktioniert jetzt wie erwartet ...

Verwandte Themen