Chcę trochę odejść od PHP i nauczyć się Pythona. Aby tworzyć strony internetowe w Pythonie, będę potrzebować frameworka pomagającego w tworzeniu szablonów i innych rzeczach.
Mam nieprodukcyjny serwer, którego używam do testowania wszystkich rzeczy związanych z tworzeniem stron internetowych. Jest to stos LAMP Debiana 7.1, który uruchamia MariaDB zamiast zwykłego pakietu serwera MySQL.
Wczoraj zainstalowałem Django i stworzyłem swój pierwszy projekt o nazwie firstweb . Nie zmieniłem jeszcze żadnych ustawień.
Oto mój pierwszy duży błąd. W samouczku śledziłem, jak facet zainstalował Django, uruchomiłem swój pierwszy projekt, zrestartowałem Apache i od tego momentu Django po prostu pracował. Poszedł do swojej przeglądarki i przeszedł do domyślnej strony Django bez żadnych problemów.
Ja jednak muszę przejść do mojego pierwszego folderu internetowego i uruchomić
python manage.py runserver myip:port
I to działa. Nie ma problemu. Ale zastanawiam się, czy ma tak działać i czy spowoduje to problemy?
Moje drugie pytanie dotyczy tego, że chcę go skonfigurować tak, aby korzystał z mojej bazy danych MySQL. Wchodzę do mojego settings.py pod / firstweb / firstweb i widzę SILNIK i NAZWĘ, ale nie jestem pewien, co tu wpisać.
Czy w obszarach UŻYTKOWNIKA, HASŁO i HOSTA jest to moja baza danych i jej dane uwierzytelniające? Jeśli używam localhost, czy mogę po prostu umieścić localhost w obszarze HOST?
Odpowiedzi:
Obsługa MySQL jest łatwa do dodania. W swoim
DATABASES
słowniku będziesz mieć taki wpis:Masz również możliwość wykorzystania plików opcji MySQL , począwszy od Django 1.7. Możesz to osiągnąć, ustawiając
DATABASES
tablicę w następujący sposób:Musisz także utworzyć
/path/to/my.cnf
plik z podobnymi ustawieniami z góryW przypadku tej nowej metody łączenia w Django 1.7, ważne jest, aby wiedzieć, że połączenia są ustanawiane w kolejności:
Jeśli tylko testujesz aplikację na komputerze lokalnym, możesz użyć
Dodanie
ip:port
argumentu umożliwia maszynom innym niż Twój dostęp do aplikacji programistycznej. Gdy będziesz gotowy do wdrożenia aplikacji, polecam zajrzeć do rozdziału Wdrażanie Django na djangobookDomyślny zestaw znaków MySQL często nie jest utf-8, dlatego pamiętaj, aby utworzyć bazę danych za pomocą tego sql:
Jeśli używasz złącza MySQL Oracle twoja
ENGINE
linia powinna wyglądać tak:Zauważ, że najpierw musisz zainstalować mysql w swoim systemie operacyjnym.
Ponadto pakiet klienta mysql zmienił się dla Pythona 3 (
MySQL-Client
działa tylko dla Pythona 2)źródło
Najpierw uruchom poniższe polecenia, aby zainstalować zależności Pythona, w przeciwnym razie polecenie uruchomieniowy Pythona zgłosi błąd.
Następnie skonfiguruj plik settings.py zgodnie z definicją #Andy i przy ostatnim uruchomieniu:
Baw się dobrze..!!
źródło
Jeśli używasz python3.x, uruchom poniższe polecenie
Następnie zmień setting.py jak
źródło
Jak wszystko zostało powiedziane powyżej, możesz łatwo najpierw zainstalować xampp z https://www.apachefriends.org/download.html Następnie postępuj zgodnie z instrukcjami:
http://localhost:80
a baza danych znajduje się wport 3306
, a PhpMyadmin pod adresemhttp://localhost/phpmyadmin/
Edytuj swój
settings.py
plik na przykład:Zainstaluj następujące pakiety w virtualenv (jeśli używasz django na virtualenv, co jest bardziej preferowane):
sudo apt-get install libmysqlclient-dev
pip zainstaluj MySQL-python
Otóż to!! skonfigurowałeś Django z MySQL w bardzo łatwy sposób.
Teraz uruchom swój projekt Django:
python manage.py migrate
python manage.py runerver
źródło
W rzeczywistości istnieje wiele problemów z różnymi środowiskami, wersjami Pythona i tak dalej. Konieczne może być również zainstalowanie plików deweloperskich Pythona, więc aby `` brutalnie '' przeprowadzić instalację, uruchomiłbym wszystkie poniższe:
Powinieneś być dobry i przyjąć zaakceptowaną odpowiedź. I może usunąć niepotrzebne pakiety, jeśli jest to dla Ciebie ważne.
źródło
Uruchom te polecenia
Następnie skonfiguruj settings.py jak
Ciesz się połączeniem mysql
źródło
Odpowiedź Andy'ego pomaga, ale jeśli masz obawy dotyczące ujawnienia hasła do bazy danych w ustawieniach django, sugeruję postępować zgodnie z oficjalną konfiguracją django na połączeniu mysql: https://docs.djangoproject.com/en/1.7/ref/databases/
Cytowany tutaj jako:
Aby zamienić „HOST”: „127.0.0.1” w ustawieniach, po prostu dodaj go do my.cnf:
Inną opcją, która jest przydatna, jest ustawienie silnika pamięci masowej na django, możesz go umieścić w swoim setting.py:
źródło
settings.py
}
następnie:
jeśli sukces wygeneruje te tabele:
i będziesz mógł użyć mysql.
to jest przykład pokazowy, test na Django w wersji 1.11.5: Django-pool-showcase
źródło
mysqlclient
sudo pip3 install mysqlclient
jeśli pojawi się błąd:
następnie:
Zmodyfikuj settings.py
źródło
Wykonaj podane kroki, aby skonfigurować go do korzystania z bazy danych MySQL:
źródło
Najpierw musisz utworzyć bazę danych MySQL. Następnie przejdź do
settings.py
pliku i edytuj'DATABASES'
słownik za pomocą danych logowania MySQL:Oto kompletny przewodnik instalacji dotyczący konfiguracji Django do korzystania z MySQL na virtualenv:
http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/
źródło