2011-05-02 22 views
11

Piszę klienta syndykacji, mając na celu posiadanie klienta dla urządzeń i witryny internetowej, która ma tę samą funkcjonalność. Będę rozwijać stronę internetową za pomocą Django - to już decyzja; klient zostanie napisany w pythonie z interfejsem CLI i GUI PyQt4. Piszę najpierw w klinice i jest dość ciężki w bazie danych, ponieważ wszystko jest w pamięci podręcznej, aby umożliwić odczytanie go w trybie offline.Używanie Django minus serwer WWW

Dziś uderzyło mnie, że sensowne byłoby używanie modeli Django do mojej aplikacji, aby ograniczyć powtarzanie wysiłku między klientem a witryną. Moje pytanie brzmi: jak łatwo jest oddzielić to i ile Django będę potrzebował w moim kliencie, aby używać modeli Django. AFAIK Nie powinienem uruchamiać serwera, ale co jeszcze jest potrzebne? Miałem pomysł na wygenerowanie tego samego html dla mojego klienta, co strona internetowa, ale pokazanie go z wykorzystaniem widgetów Qt zamiast wyświetlania stron dla przeglądarki.

Czy ktoś wcześniej próbował tego typu rzeczy? Zaczynam od tego już, ale dobrze byłoby otrzymać ostrzeżenie o potencjalnie ślepych uliczkach lub rzeczach, które spowodują koszmar utrzymania ...

Odpowiedz

14

Przeczytaj na standalone Django scripts, a znajdziesz się na drodze do zwycięstwa. Zasadniczo wszystko, co naprawdę robisz, odwołuje się do Django settings.py (którego Django oczekuje), a następnie using models without web views or urls.

Jeśli wszystko, co naprawdę interesuje Cię, to używanie ORM Django do zarządzania modelami i interakcją z bazą danych, możesz zamiast tego rozważyć użycie SQLAlchemy.

+0

to wygląda świetnie - jeśli zrobię to p – theheadofabroom

+0

Jeśli "p"? Czy dostałeś tam odcięcie? :) – jathanism

+0

Lol - tak - korzystałem ze smartfona - nie miałem pojęcia, że ​​faktycznie wysłał. Chciałem powiedzieć, że będę się z tym bawił, zanim przyjmuję twoją odpowiedź, na wypadek, gdyby było coś więcej do wytłumaczenia. Twoje zdrowie! – theheadofabroom

0

Będziesz nadal musiał uruchomić aplikację Django jako sieć serwer, ale możesz go ograniczyć do obsługi tylko localhost lub czegoś podobnego. Na pewno możesz użyć QtWebKit jako klienta.

+0

Czy na pewno potrzebowałbym pełnej aplikacji, aby to zrobić? Wygląda raczej na ciężką, miałem nadzieję, że uda mi się rozebrać tylko do funkcji bazy danych i silnika szablonów ... – theheadofabroom

+0

@BiggAl Cóż, musisz jakoś wyrenderować szablony. Myślę, że prostsze byłoby zrobienie tego w ten sposób. Wydaje się, że masz dużo kłopotów, ponieważ nie podoba ci się pomysł serwera internetowego. – arussell84

+0

w tej chwili wygląda na to, że zaproponowana metoda powinna być świetna. Chcę wdrożyć klienta na urządzeniach mobilnych, więc chcę, aby był on możliwie jak najmniejszy, jednak jeśli spróbowałeś tego wcześniej, nie krępuj się i daj mi znać, jeśli napotkasz pułapki. – theheadofabroom