Jeśli plik app/views.py jest bardzo duży, czy powinienem go oddzielić? Jeśli tak, jaki jest najlepszy sposób na zrobienie tego?Oddzielanie widoków aplikacji Django
Odpowiedz
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.
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
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.
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 :)
- 1. Rozszerzanie ogólnych widoków Django
- 2. Czy dobrą praktyką programowania jest oddzielanie modeli od reszty aplikacji?
- 3. Debugowanie powolnych widoków Admin Django
- 4. Konwencja nazewnictwa dla widoków Django?
- 5. Django - uprawnienia użytkownika do niektórych widoków?
- 6. wiele widoków katalogów za jednym expressjs aplikacji
- 7. Windows: oddzielanie danych wejściowych od 2 myszy
- 8. Oddzielanie modelu od widoku w tworzeniu gier
- 9. Dostosuj istniejącą bazę danych do aplikacji django
- 10. Podłańcuch T-SQL - oddzielanie imienia i nazwiska
- 11. Ruby FTP Oddzielanie plików od folderów
- 12. Oddzielanie źródła danych innej klasie w Swift
- 13. Oddzielanie warstwy usługi od warstwy sprawdzania poprawności
- 14. Wiele aplikacji z django
- 15. Ponowne użycie formularzy administracyjnych dla widoków użytkowników w django?
- 16. Co jest przeciwieństwem @login_required decorator dla widoków Django?
- 17. Django. Dobry samouczek dla widoków opartych na klasach
- 18. Jak zastosować dekorator do wszystkich widoków (modułu) w django
- 19. Wiele aplikacji django w jednym widoku
- 20. Prekompilacja widoków ASP.NET MVC w aplikacji sieci Web Azure
- 21. Otwórz plik w aplikacji Django
- 22. Django - zawierają adresy URL aplikacji
- 23. Importowanie aplikacji w projekcie django
- 24. Dlaczego wiele wystąpień aplikacji django?
- 25. Serwer websocket do aplikacji django
- 26. ASP.NET MVC Globalizacja widoków
- 27. Oddzielanie manipulacji DOM od kontrolerów Angular - wymagane najlepsze praktyki
- 28. Czy powinienem podzielić duży projekt Django na wiele aplikacji?
- 29. Dodaj funkcjonalność do Django FlatPages bez zmiany oryginalnej aplikacji Django
- 30. tworzenie sparametryzowanych widoków w oracle11g
To jest to, co robię dla moich obiektów modelu, ponieważ pracuję z dużą starszą domeną. – ThatAintWorking