Prawdziwy przykład przestrzeni nazw URL
Badam dokumentację Django, ale natknąłem się na część, której nie potrafię zrozumieć: jaki jest prawdziwy przykład wykorzystania przestrzeni nazw w prawdziwym problemie. Znam składnię, ale nie znam celu.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
To, co mam w pliku na poziomie projektu, to:
Zwróć uwagę na ostatnią sekcję: przechodzi przez aplikacje, które zainstalowałem ( to ustawienie, które dodałem, które zawiera tylko moje aplikacje; jest dodawane do , które ma inne rzeczy takie jak South) wyszukuje w każdym z nich i importuje te adresy URL do przestrzeni nazw nazwanej na cześć aplikacji, a także umieszcza te adresy URL w podkatalogu URL nazwanym na cześć aplikacji.
Na przykład, jeśli mam aplikację o nazwie i wygląda tak:
Teraz mój może wywołać , aby uzyskać adres URL strony, która wywołuje i będzie wyglądać jak . To samo dotyczy w szablonie. W ten sposób nie muszę się martwić o kolizję z adresem URL o nazwie „lista” w innej aplikacji i nie muszę poprzedzać każdej nazwy przedrostkiem .
Zauważ, że strona logowania znajduje się pod adresem , ponieważ nie otrzymała przestrzeni nazw.
Anonimowy użytkownik
Potwierdzenie od:
Weź również pod uwagę, że używasz aplikacji innej firmy, takiej jak Django-RestFramework.
Korzystając z aplikacji, należy zadeklarować następujący wiersz w pliku konfiguracyjnym adresów URL projektu.
Teraz, jeśli sprawdzisz kod reszty struktury, znajdziesz następujący kod w pliku urls.py
Użyliśmy nazwy „login” jako wzorca adresu URL w naszym projekcie i ta sama nazwa jest używana przez framework Django-rest dla jednego z ich wzorców URL. Kiedy używasz reverse ('login'), Django jest zdezorientowany.
Używamy przestrzeni nazw do rozwiązywania tego rodzaju problemów.
Nazwy przestrzeni nazw URL Nigdy nie kolidują z innymi przestrzeniami nazw.
Wzorzec adresu URL w przestrzeni nazw można odwrócić za pomocą
Anonimowy użytkownik
Potwierdzenie od: