UI w PyQt4 i uruchamianie django "na zawołanie"

7 views
Skip to first unread message

Dam ian

unread,
Oct 25, 2016, 6:15:00 PM10/25/16
to django-pl - grupa polskiej społeczności Django
Witam

moją przygodę z Pythonem zacząłem niedawno, aktualnie zajmuje się napisaniem UI do sterowania inteligentnym domem. Do napisania UI użyłem PyQt4 - pewnie zapytacie po co i czemu pisze to tutaj a no właśnie UI czy też tą aplikacje desktop-ową napisaną za pomocą PyQt4 potrzebuje dla panelu dotykowego który domyślnie ma się znajdować zaraz przy wejściu do mieszkania / domu, aplikacja ta ma też spełniać role "serwera" do której będą się łączyć wszystkie urządzenia sterujące - mikro kontrolery itp. oraz również aplikacja na smar phon'a - bo co to za inteligenty dom skoro nie można go również sterować z poziomu telefonu :)

No ale przechodząc do sedna sprawy, jestem już na etapie gdzie UI jest "prawie" że gotowe. Jako użytkownik można już sterować duża ilością rzeczy teraz przyszedł czas na część 2 tj. serwer www / websocket / api. W moim zamyśle chciałem do UI dodać mały przycisk aktywujący "Ustawienia" tegoż że UI - co przez to rozumiem a no że w tle uruchamiam serwer www gdzie użytkownik ma możliwość się zalogować oraz dostosować pewne ustawienia samego systemu; czy też montażysta który będzie to montować musi mieć możliwość dostosowania paru rzeczy bez integracji w sam kod całego projektu.

Tak więc po zapytaniu google: "Web server python" na 1 czy tam kolejnym miejscu wyskoczył mi django. Uruchomienie pierwszy serwer -  dodanie usera, modeli, widoków, etc przyszło mi bardzo łatwo tylko że moim celem jest uruchamianie go "automatycznie" za pomocą przycisku w aplikacji PyQt4 czy tam za pomocą polecenia głosowego. Jako że PyQt4 udostępnia możliwość wykonywania poleceń w tle za pomocą "Qthread" moim pierwszym krokiem było wrzucenie tam polecenia: "os.system("web/manage.py runserver")" jako tako działa no ale cóż nie jest to według mnie optymalne wyjście, czemu? a no raz dla tego że po tym jak już wszystko z konfiguruje trzeba ten serwer wyłączyć by nie zżerał niepotrzebnie i tak już ograniczonych zasobów "serwera", a niestety nigdzie nie znalazłem jakieś sensownej metody.

Teraz pytanie do was. Czy ktoś z was potrafi mi powiedzieć:

1. jak uruchomić LEPIEJ ten serwer z poziomu aplikacji?
2. jak go później łatwo zatrzymać bez posiłkowania się trzecimi skryptami?
3. czy podmappowanie mojej bazy danych z aplikacji PyQt4 ( w której zapisywane są ustawienia UI) do django to dobry pomysł? czy lepiej mieć 2 osobne bazy danych - 1 dla UI, 2 dla django?
4. czy wywołanie obiektów z UI w django to dobry pomysł ( w sensie by UI się samo aktualizowało gdy zmienię coś na stronie ) czy może rozgraniczyć te 2 zastosowania?
5. zna ktoś może jakąś dokumentacje w której coś podobnego jest opisane? lub jakieś podobne projekty gdzie serwer www jest uruchamiany tylko gdy go potrzebujemy?
6. czy w ogóle jest sensowne użycie do takiego czegoś django? czy może zacząć się męczyć z simpleHTTPServer?

Za wszelkie wskazówki które mnie i mój projekt brną na przód był bym bardzo wdzięczny.
Pozdrawiam Damian

PS. tak przeszedłem cały tutorial który znalazłem na stronie projektu django oraz przestudiowałem dokumentacje, lecz niestety nie znalazłem tam odpowiedzi - może coś przeoczyłem.


Reply all
Reply to author
Forward
0 new messages