W przykładach I stale zobaczyć ** kwargs przeszły dookoła bez wzmianki o których pochodzi:Przykładowy przykład oparty na klasach Django: skąd się bierze ** kwargs?
from django.views.generic import DetailView
from books.models import Publisher, Book
class PublisherDetailView(DetailView):
context_object_name = "publisher"
model = Publisher
def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
context = super(PublisherDetailView, self).get_context_data(**kwargs)
# Add in a QuerySet of all the books
context['book_list'] = Book.objects.all()
return context
Gdzie jest ** kwargs jest magicznie wyrwane z?
Co więcej, czy nie wydaje się to dużo dodatkowej pracy tylko po to, aby dodać pojedynczy obiekt słownika?
Prawdopodobny duplikat: http://stackoverflow.com/q/1769403/576139 –
Mówię o tym konkretnym przypadku. Wiem, co oznacza ** kwargs. –