KÉRDÉSE VAN?
Python Django telepítése és futtatása cPanelen
A Django egy Python-alapú keretrendszer amelynek segítségével gyorsan és egyszerűen készíthetünk weboldalakat. Ezen leírás segítségével beállítható a Django keretrendszer.
A beállítást követően egy működő Django oldalt kapunk amely a következőkre biztosít lehetőséget:
- Statikus oldalak betöltése egy adott domain néven
- Django adminisztrációs felület betöltése
- SQLite adatbázis használat
Python alkalmazás létrehozása a cPanel felületen
- Jelentkezzen be a cPanel fiókjába
- Keresse meg a Python alkalmazás beállítása menü pontot, és kattintson rá
- Python alkalmazás beállítása
- A megjelenő oldalon a kattintson az Alkalmazás létrehozása gombra
- A Python verziónál (Python version) válassza ki a 3.8.1-es verziót.
- Adja meg az alkalmazás könyvtárát (Alkalmazás root /home/cpanel_username/), például: alkalmazas
- Az Alkalmazás URL résznél válassza ki a domain nevet, majd az utána következő mezőt hagyja üresen.
- Hagyja üresen az Alkalmazás indító fájl illetve a Alkalmazás belépési pont mezőket is.
- A megjelenő oldalon a kattintson az Alkalmazás létrehozása gombra
-
-
- A Passenger napló fájl felirat után található mezőben megadható a napló fájl neve amely segítséget adhat a hibakeresésben.
- Ezt követően kattintson a jobb felső sarokban található Létrehozás gombra.
A cPanel ezt követően létrehozza a Python alkalmazást és beállítja a környezeti változókat. - Az oldal felső részén megjelenő Enter to the virtual environment. To enter to virtual environment, run the command: után található parancsot másolja ki, mivel az alkalmazás beállításhoz szüksége lesz erre a parancsra.
-
A Django beállítása
A Python alkalmazás létrehozást követően az alábbi feladatokat parancssorból kell végrehajtani
(A cPanel felületén elérhető Terminál menü pont is használható erre a célra, de SSH kliens segítségével is csatlakozhat a tárhelyhez.):
- A Django telepítése
- A Django projekt létrehozása és beállítása
- A Passenger beállítása a Django-val történő használathoz
A fenti lépések menete:
- Jelentkezzen be a tárhelyére SSH-n keresztül, vagy indítsa el a cPanel felületéről elérhető Terminál menü pontot.
- Aktiválja a virtuális környezetet az előzőleg kimásolt parancs beillesztésével és lefuttatásával, például:
source /home/cpanel_username/virtualenv/alkalmazas/3.8/bin/activate && cd /home/cpanel_username/alkalmazas
- A Django telepítéséhez adja ki a következő parancsokat:
cd ~ pip install django==2.1.8
- Hozza létre a Django projektet az alábbi parancs kiadásával:
django-admin startproject alkalmazas ~/alkalmazas
- Az alábbi parancsok kiadásával hozza létre a statikus projekt könyvtárakat:
mkdir -p ~/alkalmazas/templates/static_pages mkdir ~/alkalmazas/static_files mkdir ~/alkalmazas/static_media
- Valamelyik szövegszerkesztő segítségével nyissa meg a ~/alkalmazas/alkalmazas/settings.py fájlt, és végezze el az alábbi módosításokat a fájlban:
- Keresse meg az ALLOWED_HOSTS sort, majd módosítsa az alábbiak szerint. cserélje ki az example.com domain nevet a saját domain nevére:
ALLOWED_HOSTS = ['example.com']
- Keresse meg a TEMPLATES blokkot, majd módosítsa az alábbiak szerint:
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR,'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
- Keresse meg a STATIC_URL sort, és adja hozzá a következő sorokat:
STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static_files') MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, "static_media")
- Keresse meg az ALLOWED_HOSTS sort, majd módosítsa az alábbiak szerint. cserélje ki az example.com domain nevet a saját domain nevére:
- Nyissa meg egy szövegszerkesztő segítségével a ~/alkalmazas/alkalmazas/urls.py fájlt majd törölje ki a teljes tartalmat, és illessze be az alábbi tartalmat:
from django.contrib import admin from django.urls import path, include from django.conf import settings from django.conf.urls.static import static from django.conf.urls import url from django.views.generic.base import TemplateView urlpatterns = [ path('admin/', admin.site.urls), url(r'^$', TemplateView.as_view(template_name='static_pages/index.html'), name='home'), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
- Nyissa meg egy szövegszerkesztő segítségével a ~/alkalmazas/passenger_wsgi.py fájlt majd törölje ki a teljes tartalmat, és illessze be az alábbi tartalmat:
import os import sys import django.core.handlers.wsgi from django.core.wsgi import get_wsgi_application # Set up paths and environment variables sys.path.append(os.getcwd()) os.environ['DJANGO_SETTINGS_MODULE'] = 'alkalmazas.settings' # Set script name for the PATH_INFO fix below SCRIPT_NAME = os.getcwd() class PassengerPathInfoFix(object): """ Sets PATH_INFO from REQUEST_URI because Passenger doesn't provide it. """ def __init__(self, app): self.app = app def __call__(self, environ, start_response): from urllib.parse import unquote environ['SCRIPT_NAME'] = SCRIPT_NAME request_uri = unquote(environ['REQUEST_URI']) script_name = unquote(environ.get('SCRIPT_NAME', '')) offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) or 0 environ['PATH_INFO'] = request_uri[offset:].split('?', 1)[0] return self.app(environ, start_response) # Set the application application = get_wsgi_application() application = PassengerPathInfoFix(application)
- Ezt követően hozza létre az alapértelmezett index.html fájlt a ~/alkalmazas/templates/static_pages könyvtáron belül. ez a fájl egy alapértelmezett statikus fájl amely csak a Hello World szöveget jeleníti meg.
- Adja ki az alábbi parancsot:
python ~/alkalmazas/manage.py migrate
- Hozza létre az adminisztrátor felhasználót az alábbi parancs segítségével:
Ehhez először adja ki az alábbi parancsot:python ~/alkalmazas/manage.py createsuperuser
Amikor az alkalmazás bekéri az adminisztrátori felhasználói nevet (Username) akkor gépelje be az új felhasználói nevet majd nyomja le az enter billentyűt.
Amikor az alkalmazás bekéri az email címet (Email address) akkor gépelje be az email címet majd nyomja le az enter billentyűt.
Amikor az alkalmazás bekéri az adminisztrátori jelszót (Password) akkor gépelje be az új jelszót majd nyomja le az enter billentyűt.
- A következő parancs kiadásával összeállíthatja a statikus tartalmat:
python ~/alkalmazas/manage.py collectstatic
- A cPanel felületén indítsa újra a Python alkalmazást.
- Ehhez a cPanel felületén keresse meg a Python alkalmazás beállítása menü pontot, és kattintson rá
- A Web alkalmazások fülnél keresse ki az adott alkalmazást, majd a Műveletek oszlopban kattintson az Alkalmazás újraindítása gombra
- Utolsó lépésként tesztelhető az alkalmazás a beállított URL címen keresztül:
- Böngészőben nyissa meg a weboldalt (http://www.pelda.hu/) ahol az index.html fájlnak kell megjelennie.
Fontos, hogy a pelda.hu domain nevet cserélje ki az Ön által használt domain névre. - Következő lépésként nyissa meg a http://www.pelda.hu/admin/ címet amelyen a Django alkalmazás adminisztrációs felületének kell megjelennie.
Fontos, hogy a pelda.hu domain nevet cserélje ki az Ön által használt domain névre.
- Böngészőben nyissa meg a weboldalt (http://www.pelda.hu/) ahol az index.html fájlnak kell megjelennie.
További információ
Mivel a jelenlegi alkalmazás már fut így ténylegesen el lehet kezdeni fejleszteni a saját alkalmazásunkat, amelyhez az alábbi hivatkozásokon találhatunk további segítséget:
- A Django hivatalos dokumentációját elérheti a következő weboldalon: http://docs.djangoproject.com.
- A Django kiterjesztésekkel kapcsolatosan látogassa meg a következő oldalt https://github.com/django-extensions/django-extensions.
- A south library egy népszerű kiegészítő az adatbázis migrációkhoz amelyről további információt kaphat az alábbi oldalon https://pypi.python.org/pypi/South.
- A fabric library segít egyszerűsíteni az alkalmazások fejlesztését ezzel kapcsolatosan részletesebb információt itt találhat http://docs.fabfile.org.