Az első Django projekted!

Ez a fejezet részben a Geek Girls Carrots (https://github.com/ggcarrots/django-carrots) tutorial-jain alapszik.

A fejezet néhány része a django-marcador tutorial alapján készült, ami a Creative Commons Attribution-ShareAlike 4.0 International License alatt áll. A django-marcador tutorial jogait, Markus Zapke-Gründemann és társai birtokolják.

Most egy egyszerű blogot fogunk készíteni!

Az első lépés, hogy indítsunk egy új Django projektet. Ez annyit jelent, hogy lefuttatunk néhány scriptet, amit a Django tartalmaz, ezzel létrehozzuk a projekt vázát. Ez tulajdonképpen néhány mappa és fájl, amit majd később fogunk használni.

Néhány fájl és könyvtár neve nagyon fontos a Django-ban. A fájlokat, amiket most hozunk létre, ne nevezd át! Az áthelyezésük sem egy jó ötlet. Fontos, hogy megtartsunk egy bizonyos szerkezetet, ami segít a Django-nak, hogy megtalálja a fontos dolgokat.

Figyelem: mindent a virtualenv-ben futtass. Ha nem látod a (myvenv) előtagot a konzolodban, aktiválnod kell a virtuális környezetedet. Ezt a Django telepítés fejezetben írtuk le, a Virtuális környezetben való fejlesztés résznél. Windows környezetben a myvenv\Scripts\activate parancssal, Mac OS / Linux alatt a source myvenv/bin/activate paranccsal tudod megtenni.

Ha Mac OS-t vagy Linuxot használsz, a következő parancsot kell futtatnod; ne felejtsd el kitenni a pontot . a végén:

(myvenv) ~/djangogirls$ django-admin startproject mysite .

Ha Windowst használsz: ne felejtsd el kitenni a pontot . a végén:

(myvenv) C:\Users\Name\djangogirls> django-admin startproject mysite .

A pont . nagyon fontos, mert ez mondja meg a scriptnek, hogy abba a könyvtárba telepítse a Django-t, ahol éppen vagy (a pont . egy rövidítése ennek).

Megjegyzés Amikor begépeled a fenti parancsokat, csak azokat a részeket írd be, amik úgy kezdődnek, hogy django-admin vagy django-admin.py. A (myvenv) ~/djangogirls$ és (myvenv) C:\Users\Name\djangogirls> csak példák a parancssorodra, amely azt várja, hogy parancsokat gépelj be neki.

A django-admin.py egy script, ami könyvtárakat és fájlokat hoz létre neked. Most ilyen könyvtárszerkezetednek kell lennie:

djangogirls
├───manage.py
└───mysite
        settings.py
        urls.py
        wsgi.py
        __init__.py

Megjegyzés: A könyvtárszerkezetedben a venv könyvtár is meg fog jelenni, amelyet nemrég hoztunk létre.

A manage.py egy script, ami az oldal menedzselésében segít. Segítségével elindíthatsz egy webszervert a saját gépeden, anélkül, hogy bármit kellene installálnod, és más dolgokra is jó.

A settings.py tartalmazza a weboldalat konfigurációját (beállításait),.

Emlékszel, mit olvastál a postásról, aki azt próbálja kitalálni, hova vigye a levelet? Az urls.py fájl tartalmazza a mintákat, amiket az urlresolver használ.

Most ne foglalkozzunk a többi fájllal, mert azokat nem fogjuk módosítani. Az egyetlen dolog, amit ne felejts el, hogy ne töröld ki őket véletlenül!

A beállítások megváltoztatása

Változtassunk meg néhány dolgot a mysite/settings.py fájlban. Nyisd meg a fájlt a kódszerkesztővel, amit korábban telepítettél!

Jó lenne, ha a weboldalunk a mi időzónánk szerinti időt mutatná. Nézd meg a wikipedia időzóna listát, és másold ki az időzónádat (TZ, time zone). (például Europe/Budapest )

Keresd meg a settings.py azt a sort, ami így keződik: TIME_ZONE, és írd át, hogy a saját időzónádat használja:

    TIME_ZONE = 'Europe/Budapest'

Az "Europe/Budapest"-et változtasd meg kedved szerint.

Szükségünk lesz még arra, hogy megadjuk a statikus fájlokhoz vezető elérési útvonalat (később mindent megtudhatsz a statikus fájlokról és a CSS-ről). Menj a fájl végére, és a STATIC_URL bejegyzés alatt adj hozzá egy következő bejegyzést STATIC_ROOT névvel:

    STATIC_URL = '/static/'
    STATIC_ROOT = BASE_DIR / 'static'

Amikor a DEBUG értéke True és az ALLOWED_HOSTS üres, a hosztnév alapértelmezetten ['localhost', '127.0.0.1', '[::1]']. Ez deploy után nem fog működni a PythonAnywhere-en, ezért változtassuk meg ezt a beállítást így:

    ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']

Adatbázis létrehozása

Sok különféle adatbázis-szoftver létezik, ami adatokat tud tárolni a weboldalakhoz. Mi az alapértelmezettet fogjuk használni, az sqlite3-ot.

Ez már be van állítva a mysite/settings.py fájlodban:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': BASE_DIR / 'db.sqlite3',
        }
    }

Hogy létrehozz egy adatbázist a blogodhoz, futtasd le a következő parancsot a konzolban: python manage.py migrate (fontos, hogy a djangogirls könyvtárban legyél, ami tartalmazza a manage.py fájlt). Ha minden jól megy, valami ilyesmit kell látnod:

(myvenv) ~/djangogirls$ python manage.py migrate
Operations to perform:
  Synchronize unmigrated apps: messages, staticfiles
  Apply all migrations: contenttypes, sessions, admin, auth
Synchronizing apps without migrations:
   Creating tables...
      Running deferred SQL...
   Installing custom SQL...
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying sessions.0001_initial... OK

Készen is vagyunk! Itt az ideje, hogy elindítsd a webszervert, és meglásd, hogy működik-e.

Webszerver elindítása

Ehhez abban a könyvtárban kell lenned, ahol a manage.py fájl van (a djangogirls könyvtárban). A konzolban a következő paranccsal tudod elindítani a szervert: python manage.py runserver.

(myvenv) ~/djangogirls$ python manage.py runserver

Ha Windowst használsz, és UnicodeDecodeError hibaüzenetet kapsz, ezt a parancsot használd:

(myvenv) ~/djangogirls$ python manage.py runserver 0:8000

Most nincs más dolgod, mint ellenőrizni, hogy fut-e a weboldalad. Nyisd meg a böngésződet (Firefox, Chrome, Safari, Internet Explorer, vagy bármi más, amit használsz), és írd be a következő címet:

http://127.0.0.1:8000/

Gratulálunk! Létrehoztad az első weboldaladat, és futtatad is egy webszerver segítségével! Hát nem fantasztikus?

It worked!

A webszerver átvette az irányítást a parancssorod fölött, egészen addig, amíg le nem állítod. A terminálba tudsz gépelni, de nem fog lefuttatni új parancsokat. Ez azért van, mert a webszervernek folyamatosan kell futnia, hogy a beérkező lekérdezéseket (request-eket) fogadja.

Webszerverek működését a Hogy működik az Internet? fejezetben tekintettük át.

Hogy újabb parancsokat írhass be, amíg fut a szerver, új terminálablakot kell nyitnod, és újraaktiválni a virtuális környezetedet. Hogy leállítsd a szervert, lépj vissza az ablakba, ahol fut, és nyomd meg a CTRL + C (Control és C billentyű egyszerre) billentyűkombinációt. (Windowson lehet, hogy a Ctrl+Break fog működni).

Készen állsz a következő lépésre? Itt az ideje, hogy létrehozzunk némi tartalmat!

results matching ""

    No results matching ""