Megosztás a következőn keresztül:


Oktatóanyag: A Teljes Django Web Project-sablon használata a Visual Studióban

Ez a cikk a 4. lépést mutatja be a Django webes keretrendszer használata a Visual Studiocímű oktatóanyag-sorozatában.

Az oktatóanyag-sorozat előző lépései létrehoznak egy Visual Studio-megoldást és Django-projekteket két alkalmazáshoz. BasicProject a Blank Django Web Project sablonon alapuló minimális alkalmazás, és HelloDjangoApp a Django 1.9 alkalmazássablont használja a statikus fájlok HTML-sablonokból származó lapmegtekintésekkel való kiszolgálásához.

A 4. lépésben egy harmadik Django-alkalmazást ad hozzá a megoldáshoz a Django Web Project teljes sablon alapján. Ez a sablon segít egy teljesebb Django-alkalmazás létrehozásában, amely három oldalból örököl egy alaplapsablont. Az alkalmazás olyan statikus JavaScript-kódtárakat használ, mint a jQuery és a Bootstrap. A sablon hitelesítési funkcióit az oktatóanyag-sorozat utolsó lépésében ismertetjük.

Az oktatóanyag 4. lépésében megtanulhatja, hogyan:

  • Teljesebb Django-webalkalmazás létrehozása a Django Web Project sablonnal
  • Tekintse át a sablon által biztosított Django-projektstruktúrát
  • A projektsablon által létrehozott nézetek és lapsablonok megismerése
  • A sablon által biztosított URL-útválasztás vizsgálata

Előfeltételek

Projekt létrehozása sablonból

Az alábbi lépéseket követve hozza létre a Django webalkalmazást a teljes Django Web Project sablonból:

  1. A Visual Studióban nyissa meg Megoldáskezelő, kattintson a jobb gombbal a LearningDjango megoldásra, és válassza a >Új projekthozzáadása lehetőséget.

    Jegyzet

    Az oktatóanyag-sorozat 1. lépése létrehozza a LearningDjango Visual Studio-megoldást, amely a sorozatban leírt összes Django-projektet tartalmazza. Ha az összes Django-projektet ugyanabban a megoldásban tartja, egyszerűen válthat oda-vissza a különböző fájlok között összehasonlítás céljából.

    Ha ebben az oktatóanyagban külön Visual Studio-megoldást szeretne használni a Django-projekthez, válassza inkább Fájl>Új>Projekt lehetőséget.

  2. Az Új projekt hozzáadása párbeszédpanelen keressen rá a "Django" kifejezésre, válassza a Django Web Project sablont, és válassza a Következőlehetőséget.

  3. Az új projekt konfigurálása:

    1. Állítsa a projekt nevét DjangoWeb .

    2. Adja meg a helyet, ahol a Visual Studio elmenti a projektet. (Az alapértelmezett hely a megoldás és a meglévő Django-projektek aktuális helye.)

  4. Válassza a éslétrehozása opciót.

Virtuális környezet létrehozása

Miután a Visual Studio elindítja a projekt létrehozását, meg kell jelennie az üzenetnek: A "requirements.txt" Python-csomag specifikációs fájl észlelve a "DjangoWeb" projektben. :

Képernyőkép, amelyen a Visual Studio Django webes projektjének követelményfájljának észlelésére vonatkozó üzenet jelenik meg.

Az üzenet azt jelzi, hogy a kijelölt sablon tartalmaz egy requirements.txt fájlt, amellyel virtuális környezetet hozhat létre a projekthez.

Fontos

Ha nem jelenik meg az üzenet, hibákat tapasztalhat, amikor megpróbálja létrehozni a Django felügyelő felhasználót a következő szakaszban.

Győződjön meg arról, hogy a Visual Studio felismeri a projekthez tartozó requirements.txt fájlt. A Megoldáskezelőbenbontsa ki a DjangoWeb projektmappát, és nyissa meg a requirements.txt fájlt. A Visual Studiónak a várt módon kell megjelenítenie az üzenetkérést.

A virtuális környezet beállításához kövesse az alábbi lépéseket:

  1. Az üzenetben válassza ki a virtuális környezetbe való telepítéshez vagylétrehozásához szükséges hivatkozást.

  2. A Virtuális környezet hozzáadása párbeszédpanelen válassza a létrehozása lehetőséget az alapértelmezett beállítások elfogadásához.

Django szuperfelhasználó létrehozása

Miután a Visual Studio létrehozta a DjangoWeb projektet, megnyílik a projekt readme.html fájl. A fájl útmutatást tartalmaz egy Django szuperfelhasználói (azaz rendszergazda) létrehozásához a projekthez.

Django-szuperfelhasználó létrehozásához kövesse az alábbi lépéseket:

  1. A Megoldáskezelőkattintson a jobb gombbal a DjangoWeb projektre, válassza Python-, majd válassza Django Create Superuser:

    Képernyőkép, amely bemutatja, hogyan választhatja ki a Django create super user parancsot egy projekthez a Visual Studióban.

  2. A parancssorban adja meg a projekt fiókadatait, beleértve a felhasználónevet, a jelszót és az e-mail-címet.

    Nem kell biztonsági hitelesítő adatokat használnia egy meglévő fiókhoz. Létrehozhat egy új felhasználónevet és jelszót, amelyet kifejezetten a Django webalkalmazással használhat.

  3. Jegyezze fel a hitelesítő adatokat későbbi használatra. A webalkalmazás hitelesítési funkcióinak gyakorlásához szüksége van a hitelesítő adatokra.

Django webes projekt futtatása

Most már készen áll a Django webalkalmazás futtatására, és megtekintheti a sablon által biztosított funkciókat:

  1. A Megoldáskezelőbenkattintson a jobb gombbal a DjangoWeb projektre, és válassza a Indítási projektként beállításlehetőséget.

    Ez a parancs beállítja a kijelölt projektet a Visual Studio-megoldás alapértelmezett indítási projektjének. A Hibakeresőindításakor a Visual Studio futtatja az indítási projekt kódját. Megoldáskezelőa megoldás indítási projektjének neve félkövér színben jelenik meg:

  2. Válassza a Hibakeresés>indítása (F5) vagy használja a Webkiszolgáló gombot az eszköztáron a kiszolgáló futtatásához:

    Képernyőkép a Web Server parancsról a Visual Studio fő eszköztárán.

Webalkalmazás-lapok felfedezése

A sablon által létrehozott alkalmazás három oldalból áll: "Kezdőlap", "Névjegy" és "Kapcsolatfelvétel". A navigációs sáv minden egyes oldalára mutató hivatkozások találhatók.

képernyőkép, amelyen a böngészőben futó Django Web Project alkalmazás látható.

  1. A navigációs sáv beállításaival váltson a lapok között.

  2. Vizsgálja meg a futó alkalmazás különböző részeit, beleértve a lap tartalmát is. Figyelje meg, hogyan változik az URL-cím útvonala az aktuális oldal alapján.

  3. Hitelesítés az alkalmazással a navigációs sávon a Bejelentkezés lehetőség kiválasztásával. Adja meg az előző szakaszban megadott felügyelői hitelesítő adatokat.

  4. A Django Web Project-sablon által létrehozott alkalmazás a Bootstrap-t használja a reszponzív elrendezéshez, amely a mobil eszközökhöz alkalmazkodik. A válaszképesség megtekintéséhez méretezze át a böngészőt egy keskeny nézetre, hogy a tartalom függőlegesen jelenítse meg a tartalmat, és a navigációs sáv menüikonná változik:

    Képernyőkép a Django Web Project alkalmazás mobil (keskeny) nézetéről a böngészőben, ahol a navigációs sáv legördülő menüvé alakul.

Az alkalmazást hagyhatja futni a következő szakasz gyakorlataihoz.

Ha menteni szeretné a munkáját, állítsa le az alkalmazást, és kövesse az oktatóanyag-sorozat korábbi lépéseinek utasításait:

Webalkalmazás-projektstruktúra vizsgálata

A Django Web Project sablon egy webalkalmazás-projektet hoz létre a Visual Studióban a következő struktúrával:

  • A DjangoWeb Visual Studio projekt gyökérkönyvtárában található fájlok:

    • manage.py: A Django felügyeleti segédprogram.
    • db.sqlite3: Alapértelmezett SQLite-adatbázis.
    • requirements.txt: A projekt azon csomagjait azonosítja, amelyek a Django 1.x-hez függenek.
    • readme.html: A webalkalmazással kapcsolatos információkat tartalmaz, beleértve a követelményeket és a kritikus használati eljárásokat. A Visual Studio a projekt létrehozása után jeleníti meg ezt a fájlt. A korábban leírtaknak megfelelően ez a fájl tartalmazza az alkalmazáshoz tartozó felügyelői (rendszergazdai) fiók létrehozásához szükséges utasításokat.
  • A DjangoWeb/alkalmazás mappája:

    Ez a mappa tartalmazza az összes alkalmazásfájlt, beleértve nézeteket, modelleket, teszteket, űrlapokat. Ez a mappa fájlokat tartalmazó almappákkal is rendelkezik, beleértve sablonokat, migrálásokat, valamint statikus. Az alkalmazás mappáját általában úgy nevezheti át, hogy egy jellegzetesebb nevet használjon, például magát az alkalmazásnevet.

  • A DjangoWeb/DjangoWeb mappa:

    Ez a mappa a Django projektmappája. Tartalmazza a tipikus Django-projektfájlokat: __init__.py, settings.py, urls.pyés wsgi.py. A settings.py fájl már konfigurálva van az alkalmazáshoz és az adatbázisfájlhoz a projektsablon használatával. A urls.py fájl már be van állítva az összes alkalmazásoldal útvonalával, beleértve a Bejelentkezés űrlapot is.

Virtuális környezet megosztása Visual Studio-projektek között

Virtuális környezetet megoszthat a Visual Studio-projektek között. Ne feledje azonban, hogy a különböző projektek idővel valószínűleg különböző csomagokat használnak. A megosztott virtuális környezetnek tartalmaznia kell az összes csomagot az azt használó összes projekthez.

Meglévő virtuális környezet használatához kövesse az alábbi lépéseket:

  1. Amikor a rendszer kéri, hogy telepítse a függőségeket a Visual Studióban, válassza én magam telepítem őket lehetőséget.

  2. A Megoldáskezelőbenkattintson a jobb gombbal a Python-környezetek csomópontra, és válassza a Meglévő virtuális környezet hozzáadásalehetőséget.

  3. Keresse meg és jelölje ki a virtuális környezetet tartalmazó mappát, majd válassza az OKlehetőséget.

Oldalnézetek és lapsablonok vizsgálata

A Django Web Project által létrehozott lapmegtekintések kódja a projekt alkalmazásában/views.py fájljában található. Minden nézetfüggvény meghívja a django.shortcuts.render segédfüggvényt egy sablon és egy egyszerű szótárobjektum elérési útjával. A about függvény létrehozza az "About" oldal nézetét a webalkalmazásban.

def about(request):
   """Renders the about page."""
   assert isinstance(request, HttpRequest)
   return render(
      request,
      'app/about.html',
      {
         'title':'About',
         'message':'Your application description page.',
         'year':datetime.now().year,
      }
   )

A nézetekhez tartozó HTML-lapsablonok a projekt app/templates/app mappában találhatók, amelyet gyakran át szoktak nevezni. Az alapsablon , layout.html, a legkiterjedtebb. A fájl az alkalmazásnézetekhez szükséges összes statikus fájlra (JavaScript és CSS) hivatkozik.

Ez a sablon két block szakaszt is meghatároz: content és scripts. A többi webalkalmazás-lap felülírja a layout.html fájl {% block content %} szakaszát. Az e jelölt változatban a layout.html fájl <body> elemének két block szakasza látható.

<!DOCTYPE html>
<html>

<head>
   <meta charset="utf-8" />

   <!-- Define viewport for Bootstrap's responsive rendering -->
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>{{ title }} - My Django Application</title>

   {% load staticfiles %}
   <link rel="stylesheet" type="text/css" href="{% static 'app/content/bootstrap.min.css' %}" />
   <link rel="stylesheet" type="text/css" href="{% static 'app/content/site.css' %}" />
   <script src="{% static 'app/scripts/modernizr-2.6.2.js' %}"></script>
</head>

<body>
   <!-- Navigation bar section omitted in this excerpt -->

   <div class="container body-content">

<!-- Content block - App pages override this block -->
{% block content %}
{% endblock %}

      <!-- App header and footer content -->
      <hr/>
      <footer>
         <p>&copy; {{ year }} - My Django Application</p>
      </footer>

   </div>

   <script src="{% static 'app/scripts/jquery-1.10.2.js' %}"></script>
   <script src="{% static 'app/scripts/bootstrap.js' %}"></script>
   <script src="{% static 'app/scripts/respond.js' %}"></script>

<!-- Scripts block - List page-specific scripts in this block -->
{% block scripts %}
{% endblock %}

</body>

</html>

Az egyes HTML-lapsablonok, about.html, contact.htmlés index.htmlkiterjesztik az alapsablont layout.html. A about.html sablonfájl a legegyszerűbb, és a {% extends %} címkét és {% block content %} szakaszt jeleníti meg:

{% extends "app/layout.html" %}

<!-- Content block overrides "content" block in layout template -->
{% block content %}

<h2>{{ title }}.</h2>
<h3>{{ message }}</h3>

<p>Use this area to provide additional information.</p>

{% endblock %}

A index.html és contact.html sablonfájlok ugyanazt a struktúrát használják, és további útmutatást nyújtanak a content blokkban.

Az alkalmazás/sablonok/alkalmazás mappa további két HTML-lapsablont tartalmaz. A login.html fájl határozza meg a Bejelentkezési alkalmazáslap lap tartalmát. A loginpartial.html fájl a {% include %} utasítással kerül a layout.html fájlba. Az oktatóanyag-sorozat utolsó lépése (felhasználók hitelesítése) részletesebben ismerteti ezt a két sablonfájlt.

{% blokk %} és {% végblokk %} címkék behúzása sablonokban

A HTML-minták a Visual Studio oldalsablonjában megadott jelölőnyelvet mutatják be. Vegye észre, hogy a block címkék nincsenek behúzva a jelölésben. A block címkék helyének egyértelmű megjelenítéséhez a Visual Studio lapsablonjai nem húzják be ezeket a címkéket.

A Django oldal sablonok azonban jól működnek, ha behúzza a block címkéket. Egyes fejlesztők szívesebben igazítják a címkéket a megfelelő szülő HTML-elemeken belül.

URL-útvonalminták vizsgálata

A Django-projekt url-fájlja (DjangoWeb/DjangoWeb/urls.py) a Django Web Project sablonja a következő kódot tartalmazza:

"""
Definition of urls for DjangoWeb
"""

from datetime import datetime
from django.urls import path
from django.contrib import admin
from django.contrib.auth.views import LoginView, LogoutView
from app import forms, views

urlpatterns = [
    path('', views.home, name='home'),
    path('contact/', views.contact, name='contact'),
    path('about/', views.about, name='about'),
    path('login/',
         LoginView.as_view
         (
             template_name='app/login.html',
             authentication_form=forms.BootstrapAuthenticationForm,
             extra_context=
             {
                 'title': 'Log in',
                 'year' : datetime.now().year,
             }
         ),
         name='login'),
    path('logout/', LogoutView.as_view(next_page='/'), name='logout'),
    path('admin/', admin.site.urls),
]

Az első három URL-minta közvetlenül a projekt alkalmazásában található views.py fájlban definiált home, contactés about nézetfüggvényekhez van társítva. A login/ és logout/ minták megfelelnek az alkalmazás hitelesítési funkcióinak.

Speciális URL-útvonalminták, például ^login/$ és ^logout$ az alkalmazás által meghatározott nézetek helyett a beépített Django-nézetekhez férnek hozzá. A url metódus hívásai további adatokat is tartalmaznak a nézet testreszabásához. Az oktatóanyag-sorozat utolsó lépése (felhasználók hitelesítése) az URL-hívások működését ismerteti.

Az URL-minták különbségeinek feltárása

Az oktatóanyag-sorozat 3. lépésében (HTML-sablonöröklés) a "Rólunk" oldal elérési útja a '^about$' mintát használja. Ez a minta eltér az oktatóanyag lépésében bemutatott URL-útvonaltól. A sablon verziójától függően előfordulhat, hogy a mintakód a "Névjegy" oldal URL-mintázatát about/ vagy ^about jeleníti meg ^about$helyett.

A reguláris kifejezésből hiányzó, záró $ dollárjel számos projektsablon verziójának mulasztása. Az URL-minta tökéletesen működik egy "about" vagy "About" nevű oldalon. A záró $ karakter nélkül azonban az URL-minta olyan URL-címekkel is megegyezik, mint a "about=django", "about09876", "about-face", stb. A záró $ karakter egy olyan URL-mintát hoz létre, amely biztosítja, hogy csak az "about" kifejezésnek feleljen meg.

Következő lépés