2009-03-30 12 views

Odpowiedz

12

Nie ma generic najlepszy sposób. Ale jest pewna właściwa droga dla twojej sytuacji.

  • umieścić poglądy w swoich własnych plikówi importować je w widoku. To jest dobre, by zobaczyć, jak to działa
  • dokonać oddzielną aplikację wewnątrz projektu, aby utrzymać zestaw poglądów
  • tworzyć własne generic views który podziela poglądy wspólne dla większości swoich aplikacji

Tylko jako przykład wyjściowego: polecam zacząć od modelu i działa się w górę:

  • jak wiele modeli masz?
  • Czy rzeczywiście wszystkie są powiązane z, czy mogą być zgrupowane?
  • jeśli można pogrupowane podzielić aplikację na dwie aplikacje
  • więc będziesz również podzielić poglądy
  • określenia, które zobaczyć funkcje są podobne i czynią je generic.
2

Oddzielę widoki o podobnym przeznaczeniu lub funkcjonalności w jednym pliku i uwzględnię to w views.py. Robię to tylko dla czytelności i konserwacji. Na przykład widoki CRUD dla określonego obiektu lub grupy obiektów.

Importując te widoki bezpośrednio do głównego pliku views.py, umożliwia osobom nie znającym konwencji, aby znaleźć to, co jest gdzie.

views/object_view.py 
26

Niektórzy deweloperzy swoich rzutach python package zamiast modułu. Oznacza to po prostu utworzenie katalogu o nazwie views w aplikacji, a następnie umieszczenie każdego widoku we własnym module (pliku) w tym pakiecie.

Następnie tworzysz plik __init__.py (co czyni go pakietem). Ten plik może być pusty lub może importować wszystkie moduły widoku do własnej przestrzeni nazw.

Jeśli jest pusty, należy zaimportować każdy potrzebny widok bezpośrednio, w przeciwnym razie można go zaimportować tak, jakby był to moduł views.py.

+0

To jest to, co robię dla moich obiektów modelu, ponieważ pracuję z dużą starszą domeną. – ThatAintWorking

1

W idealnym świecie nie powinieneś tego robić. Zamiast tego spróbuj przekształcić swój kod w różne aplikacje django dla każdego podcelu, którego potrzebuje Twój projekt. W ten sposób możesz podzielić swój projekt nawet lepiej niż gdybyś podzielił tylko plik views.py.

uzyskać wskazówki, w jaki sposób rozdzielić swój projekt w różnych aplikacjach, polecam czytanie Practical Django Projects James Bennetta, co jest, co ja ponownie czyta teraz :)