Jaki byłby najlepszy sposób przeniesienia istniejącej witryny Drupal do aplikacji Django? Mam około 500 stron (głównie moduł książki) i około 50 wpisów na blogu. Nie używam żadnych modułów zewnętrznych. Chciałbym zachować obecny URLS (do celów SEO) i przeprowadzić migrację bazy danych do Django. Stworzę prostą aplikację blogową, więc migrowanie postów na blogu powinno być w porządku. Jaki byłby najlepszy sposób wyświetlania ponad 500 stron za pomocą Django? Chciałbym użyć Administratora do edycji/dodawania nowych stron.Jak przelecieć z Drupal do Django?
Odpowiedz
Wszystkie projekty Django są podobne, a Twój pasuje do wzoru.
Określ model Django dla swoich książek i wpisów na blogu.
Jednostka przetestuj ten model, używając wbudowanych funkcji testowych Django.
Napisz małe narzędzia do ładowania starszych danych do Django. W tym momencie zdasz sobie sprawę, że twój model Django nie jest doskonały. Dobry. Napraw to. Napraw testy. Ponów obciążenia.
Skonfiguruj domyślny interfejs administracyjny do swojego modelu. W tym momencie poświęcisz czas na ulepszenie interfejsu administratora. Uświadomisz sobie, że twój model danych jest nieprawidłowy. Co jest dobre. Napraw swój model. Napraw swoje testy. Napraw swoje obciążenia.
Teraz, gdy Twoje dane są poprawne, możesz tworzyć szablony ze starszych stron.
Tworzenie odwzorowań adresów URL i wyświetlanie funkcji do wypełniania szablonów z modelu danych.
Poświęć trochę czasu, aby uzyskać prawidłowy model danych. To naprawdę ma znaczenie, ponieważ wszystko inne jest bardzo proste, jeśli twój model danych jest solidny.
Dzięki, mam teraz lepszy obraz w głowie. – Boolean
Może istnieć możliwość napisania modeli Django, które działają ze starszą bazą danych (robiłem to w przeszłości, zobacz dokumentację na stronie manage.py inspectdb
).
Jednak postępuję zgodnie z powyższymi wskazówkami i zaprojektuję czystą bazę danych przy użyciu konwencji Django, a następnie zmigruję dane. Zwykle piszę skrypty migracyjne, które piszą do nowej bazy danych przez Django i czytają stare, używając surowych interfejsów API Python DB (chociaż możliwe jest również powiązanie Django z multiple databases simultaneously).
Proponuję również zapoznać się z dostępnymi aplikacjami do blogowania dla Django. Jeśli ta zawarta w Pinax pasuje do twoich potrzeb, śmiało możesz użyć Pinax jako punktu wyjścia.
S.Lott answer jest nadal ważny po latach, staram się ukończyć analizę za pomocą narzędzi i formatu, aby wykonać zadanie.
Istnieje wiele narzędzi eksportu Drupala, ale z tym samym żądaniem idę na Views Datasource wybierając JSON jako format. Ten moduł jest bardzo solidny i dostępny dla ostatniej wersji Drupala. Format JSON jest bardzo szybki zarówno podczas analizowania, jak i kodowania, a ponadto jest łatwy do odczytania i przyjazny dla Pythona (import json).
Używanie widoków Źródło danych umożliwia utworzenie widoku węzła posortowanego według identyfikatora węzła (nid), wyświetlenie ograniczonej liczby elementów na stronie, skonfigurowanie ścieżki widoku, dodanie do niej identyfikatora filtru i przekazanie go do nid do odczytu wszystkich elementy, dopóki nie uzyskasz pustej odpowiedzi JSON.
Podczas importowania w Django masz również szeroki zestaw narzędzi, zaczynając od loaddata to load fixtures. Widoki Źródło danych wyeksportowało JSON, ale nie jest sformatowane, ponieważ Django oczekuje urządzeń: możesz napisać custom admin command, aby wykonać import, gdzie możesz mieć pełną kontrolę nad importem.
Możesz uruchomić swoje polecenie przekazując nid = 0 jako argument, a następnie pozwolić procedurze odczytać, zaimportować, a następnie pobrać dane z następnej strony, przekazując po prostu ostatni nid wczytany w poprzednim żądaniu HTTP. Możesz nawet ograniczyć dostęp do ścieżki w widoku, ale potrzebujesz dodatkowej konfiguracji po stronie importu.
Jeśli chodzi o wydajność, na przykład przeanalizowałem i zaimportowałem 15 000+ węzłów w mniej niż 10 minut za pomocą niestandardowego polecenia administratora Django 1.8 na maszynie wirtualnej z 8 rdzeniami/8 GB Linuksa i PostgreSQL jako DBMS, rejestrując informacje o sukcesie i błędzie w niestandardowy model dla każdego węzła.
To są podstawy do importu/eksportu między tymi dwoma platformami, dla szczegółowych informacji opisałem wszystkie major steps for export from Drupal and then import to Django in this guide.
- 1. Jak przelecieć przez miesiące w Ruby na szynach
- 2. Potrzebujesz przykładu dołączenia kolekcji pól do formularza drupal - drupal 7
- 3. Jak dodać klasę do regionu Drupal 7?
- 4. Jak dodać zakładki z przodu w Drupal?
- 5. Drupal Autoresponder z Reklamowe Module
- 6. Jak działa AOP w Drupal?
- 7. Jak importować widok w Drupal?
- 8. Jak wydrukować pole obrazu drupal?
- 9. Jak motywować widok w drupal
- 10. Drupal: Jak uzyskać listę modułów
- 11. Dodawanie js do formularza węzła Drupal
- 12. hardening drupal do instalacji na żywo
- 13. Funkcje Drupal obejmują motyw
- 14. cezu w Drupal: Załaduj Viewer na stronie w Drupal
- 15. Wstawianie formularza do bloku w Drupal?
- 16. Strategie wdrażania Drupal DATABASE?
- 17. Jak zmienić stopkę Powered by Drupal i link do niej?
- 18. Jak programowo zastosować filtr wejściowy Drupal?
- 19. Jak uzyskać pełny adres URL strony Drupal?
- 20. Jak programowo wyłączyć i odinstalować moduł Drupal?
- 21. Jak scalić zmiany w bazie danych Drupal
- 22. Strategia kontroli źródła Drupal?
- 23. Moduł mapy witryny Drupal
- 24. Drupal - Jak zmienić format wejściowy dla komentarzy?
- 25. Drupal 7 - entityFieldQuery Order
- 26. Jak utworzyć galerię obrazów w Drupal 7?
- 27. Jak używać sprawdzania formularza w Drupal 7
- 28. Drupal: jak zmienić obecny język taksonomii
- 29. Jak utworzyć nowy motyw w drupal 7
- 30. Czy Drupal jest zgodny z paradygmatem MVC?
Zobacz http://stackoverflow.com/questions/199556/how-can-i-port-a-legacy-javaj2ee-website-to-a-modern-scripting-language-phppyth –
Dziękuję, tęskniłem za tym jeden – Boolean