2011-12-05 24 views
9

Jestem nowy w django, przygotowuję panel administracyjny jako pierwszy dla mojej witryny. Muszę mieć zależne pola wyboru, aby po wybraniu kraju użytkownik mógł wybrać miasto. Chcę, gdy wybiorę kraj, wtedy miasta tego kraju będą ładować opcje w oknie miejskim, ale nie wiem, jak dostosować administratora django. Zrobiłem to w JS, używając AJAX i PHP. Więc wiem, jak to zrobić ręcznie, ale nie wiem jak używać ajax w django i jak go dostosować.Dostosowywanie administratora django do zależnych pól wyboru

W przypadku innych pytań przeczytałem, że należy przeczytać dokumentację django, więc próbowałem przeczytać i znaleźć w dokumentacji administratora, ale nie mogłem znaleźć sposobu na dostosowanie panelu administracyjnego django. Czy muszę dostosowywać pełną stronę do tych pól wyboru? Lub proszę powiedzieć, w jaki sposób mogę dodać do niego kod jquery, aby móc to zrobić za pomocą JS?

Odpowiedz

10

Prawdopodobnie chcesz użyć funkcji Grupuj wybrane w django smart selects. Od README:

Jeśli masz następujący model:

class Location(models.Model) 
    continent = models.ForeignKey(Continent) 
    country = models.ForeignKey(Country) 

I chcesz, aby wszystkie kraje są pogrupowane według kontynentu i że grupy są stosowane w wybranych zmian do następujących:

from smart_selects.db_fields import GroupedForeignKey 

class Location(models.Model) 
    continent = models.ForeignKey(Continent) 
    country = GroupedForeignKey(Country, "continent") 
+0

dzięki tak, to właśnie szukałem – Hafiz

0

Istnieje rzeczywiście dobra dokumentacja, jak dostosować administratora django. Here na przykład, możesz zobaczyć, jak przedefiniować szablony admina.

W przypadku, gdy przedstawisz, łatwiejszym podejściem, jak sugerujesz, jest dodanie kodu JavaScript, który doda dodatkowe zachowanie pól. Możesz wskazać plik js z tym kodem w administratorze modelu, jak wyjaśniono here.

+0

dzięki za odpowiedź Facundo Olano i pomoc wysiłek – Hafiz

Powiązane problemy