Transkripte
1. Einführung: Hi. Willkommen bei professionellen zurück in der Web-Entwicklung mit Pichon Flask, wo Sie lernen, wie Sie wo Anwendungen mit der erstaunlichen Python Sprache erstellen. Mein Name ist Jorge Escobar, und ich habe das Glück, in den führenden Technologieunternehmen seit 15 Jahren zu arbeiten, und jetzt zeigen wir Ihnen von Grund auf, wie Sie ein professioneller Webentwickler werden. Sie können viele Online-Kurse finden, die Ihnen versprechen, Webentwickler zu werden. Die Wahrheit ist, dass es in der professionellen Tech-Branche so etwas wie Web-Entwickler-Positionen nicht
gibt. Sie sind entweder ein Back und Entwickler oder Front-End-Entwickler auf die Fähigkeiten, die für jede vollständig erforderlich sind. Dieser Kurs zeigt Ihnen Schritt für Schritt, die Best Practices, um Ihre Karriere zu beginnen, um wieder arbeitslos in Web-Anwendungen zu werden. Entwickler Ich werde Ihnen Schritt für Schritt und durch die Macht des Videos auf Einführung
der Python Sprache zeigen. Wie man Flask installiert, einen ersten Blick auf die Fortsetzungsdatenbanken und dann bauen wir eine Blogging-Anwendung mit Best Development Practice. Am Ende des Kurses werden
Sie die Herausforderung, die Anwendung durch die Entwicklung eines Kommentarsystems für Blawg zu erweitern. Sie werden auch in der Lage sein, die gesamte Gerichtsbasis zu erhalten, wie es jeden Schritt des Weges aussieht, so dass Sie Ihr Wissen entwickeln
können, um herauszufinden, wie das System wächst Stück für Stück. Der Kurs ist das Zeichen für Leute mit wenig oder gar keinen Vorkenntnissen, die aber gerne lernen
möchten, wie man Webanwendungen erstellt. Alles, was Sie brauchen, ist ein Computer und die Bereitschaft, Ihre volle Aufmerksamkeit auf die Metis zu lenken. Hör zu. Es gibt andere Kurse, die den einfachen Weg gehen und mit grafischen Werkzeugen unterrichten. Ich kann Ihnen sagen, diese Studenten ein echtes Interview in einem Profi von meinem Kurs jetzt nicht überleben würden, und ich werde Ihren Weg beginnen, eine professionelle Python-Backend-Waffe zu werden.
2. Was ist Backend Entwicklung?: Okay, schauen wir uns an, was vorne und hinten in der Entwicklung ist. Um, dafür werden wir überprüfen, wie ein Internet-Prozess auf einem sehr hohen Niveau aussieht. Um, lassen Sie uns ein Diagramm und verstehen, wie die Schritte aussehen, wenn Sie eine Seite anfordern. Das erste, was Sie wissen müssen, ist, dass es immer einen Browser und einen Client gibt. Der Browser ist im Grunde das Programm, das Sie verwendet, um auf das Web zugreifen, die Firefox gewachsen Internet Explorer, was auch immer Sie verwenden, und dann ist der Server im Grunde ein Dienst, der da draußen im Internet ist. Im Grunde, ähm, es ist eine Gruppe von Servern oder Computern,
die , sich in einem bestimmten befinden,das Sie draußen sind. Wenn Sie also Euro eingeben, Internet-Provider , wird
IhrInternet-ProviderSie verbinden,Sie zum entsprechenden Server weiterleiten, und dann wird dieser Server einen Prozess haben, der ein Schleifenprozess ist
, die immer überprüft wird. Gibt es irgendwelche Anfragen gibt es irgendwelche Anfragen? Und wenn es Ihre Anfrage für eine bestimmte Seite erhalten hat, rendert
es im Grunde oder kommt mit dem Code, um die Seite zu erstellen, die Sie anfordern, und dafür kann es auf eine Datenbank zugreifen, wo all dieser Inhalt ist befindet. Sobald Carlton gefunden wurde, packt
es alles in eine Webseite auf B, gibt es zurück an den Browser, wo der Browser es als,
ah,
so angemessen rendert ah, . Also, was ist die Back-End-Entwicklung davor? Entwicklung? , Die Idee ist,
dass wieder in der Entwicklung die Prozesse oder die Software sind, um, der Code und die verschiedenen Routinen und Algorithmen, die im Server leben, um, und
interagieren mit der Datenbank, ähm, im Vergleich zum Browser-Code, der
die Front ist. Und die Entwicklung bis jetzt in der Entwicklung beinhaltet die Arbeit mit HTML, CSS und Js, die ah sind ,
die grundlegenden Sie wissen, Sprachen für die grundlegenden Systeme, die es dem Browser erlauben, den Inhalt des gibt zurück. Man kann es sich also als Front vorstellen und sein,
ähm, alles, was mit dem zu tun hat, was ablehnt sieht und dann wieder rein ist all die Daten dahinter. Ah, wie diese Seite aussieht. In diesem Kurs werden
wir uns auf das Stück konzentrieren,
wir werden darüber reden, wie man codiert,
und Ah, und wie man Anwendungen entwickelt, die von Natur aus auf Anfragen von einem Browser hören und geben Sie einen Inhaltscode zurück, wenn Sie
so wollen, der es dem Browser ermöglicht, diese Daten zu rendern, die Informationen, die im
Indus Server gespeichert sind .
3. Warum Python?: Okay, also eine Frage, die Sie stellen können, ist y Python, wo wir Typhon lernen oder zurück in der Entwicklung und nicht etwas anderes. Und es gibt viele andere Sprachen, die geeignet sind und gute Ah haben, wissen
Sie, gute Bewertungen oder ihre gesprochen sehr gut im Internet. Und ich denke, es ist eine persönliche Entscheidung. Meine persönliche Erfahrung war, dass Python eine sehr,
ähm,
leicht zu erlernen war ähm, , als ob die Lernkurve nicht zu steil ist. Ähm, aber es ist auch eine Sprache, dass es eine Freude ist, viel zu lesen ,
ähm, ,
ähm,
wenn man eine Beschichtung hat. Karriere geht es darum, den Code anderer Leute zu lesen, und Tyson macht es wirklich leicht zu verstehen. Was, was zum Denken kommt aus einem weiteren Viertel? Um, nur indem Sie es lesen, ohne sich die Kommentare,
ähm,
oder die Dokumentation ansehen ähm, zu müssen. Ich denke, äh, wissen
Sie, Python Leichtigkeit ist Ah, es ist schnell. Ähm, wieder, es gibt Leute, die sagen, dass andere Dinge schneller sind, aber ich denke, wenn Sie in das, ähm, das echte mawf Web,
ähm, ähm, Web servieren und servieren Zeiten und alles, was ich denke, es gibt viele andere Viable ist , um zu
prüfen,
abgesehen davon, wie schnell die Sprachen. Aber gesagt zu haben, dass Python Reese ist, ist ziemlich schnell. Ähm, das gefällt
mir. Es ist, ah, objektorientiert von Anfang an. Ich denke, dass wir ein bisschen darüber reden werden. Warum das wichtig ist. Aber, ähm, ein erster Einführungszettel. Was dieses Konzept ist, dass es damit zu tun hat, Ihren Code auf eine Weise zu legen, die wiederverwendbar ist und dass Sie die Arbeit anderer Menschen nutzen können, ohne dass Sie das Rad neu erfinden müssen. Ähm, das ist irgendwie, was für mich ein Objekt orientiert ist, ah, was der Nutzen ist. Es hat auch, ähm ,
wissen
Sie dass Python sehr umfangreich ist,
hat eine Menge von , Bibliotheken von
Drittanbietern,die tun können, was ich meine, es gibt, wie Tausende von Dingen, die man damit machen kann, , wie Mathematik,
äh, äh, Berechnungen vom Anschließen bis zu den beliebtesten, die Luftbasen von, ähm, wissen
Sie, Interaktion mit sozialen Plattformen wie Facebook, Twitter und ah, wissen
Sie, Ah, eine Menge von sehr, sehr spannenden Projekten, die,
ähm, die über die verschiedenen Felder glauben, verschiedene Dinge, wie von Gaming, wie,
Wissenschaft, Wirtschaft. Es hat also viele Bibliotheken, und die Community um Python ist sehr, ähm, sehr stark. Sie sind sehr leidenschaftlich telefonisch, und Sie werden von einem kleinen bisschen von den Rivalitäten hören, besonders mit den Leuten, dass das, wie Ruby on Rails, was irgendwie wie ein ah,
groß ist , um, es ist ein Gegenstück oder ein Wettbewerb für Python. Dann weißt du, du musst wissen, dass die Jazz-Community auch auftaucht. Aber es ist ein freundlicher Wettbewerb. Ich denke, jede Sprache hat ihre eigenen Stärken und ihre Mängel. , Aber ich mag Python. Ich fühlte mich sehr zu Hause. Ähm, ich kam aus, ah kodiere in Gefahr und pinkle dann. Es ist B und, ah, jetzt Python. Ich mag es, dass ich zurückblicke und es wird sehr schwer für mich sein, in eine andere Sprache zurückzukehren
4. Der Ansatz von FromZero: Hi. Ich wollte mit Ihnen ein wenig darüber sprechen, warum ist von Null anders oder besser als andere Kurse? Nun, vor allem habe ich Erfahrung mit komplexen Projekten. Ich habe sowohl mit großen Unternehmen als auch mit Start-ups gearbeitet, und ich habe eine Menge von hohem Traffic und schnellen Reaktionszeiten abgeschlossen, sehr komplexe Projekte,
die
Dutzende von Entwicklern begangen und dazu beigetragen haben und ich habe eine Menge von hohem Traffic und schnellen Reaktionszeiten abgeschlossen,
sehr komplexe Projekte,
die
Dutzende von Entwicklern begangen und dazu beigetragen haben. Also kenne ich den besten Weg,
um ,
um ein Projekt
anzugehen und es effizient und
skalierbar zu machen . Also werde ich dir all die Dinge beibringen, die ich kenne. Ähm und, ähm, eine Sache, die ich bin immer bestrebt, diese Kurse zu machen, ist, Sie durch die
Grundlagen zu führen . Ah, oder fangen Sie mit den Grundlagen an. Und dann wollen wir Themen auf die effizienteste Art und Weise voranbringen. Ich werde nicht in kleine Details gehen oder vielleicht alleKapitel eines
Baekeland-Buches durchgehen . Kapitel eines Aber ich werde den effizientesten Weg
durchlaufen, damit ihr euch einsatzbereit und bereit für die Entwicklung seid. Ähm, ich werde das auch beibringen, dass wir in allen Kursen auf Kurs sind. Das bedeutet, dass Sie immer lernen werden, indem Sie tun und nicht nur eine Menge
Informationen von den Projekten, den Kursen oder den Sprachen bekommen , bevor Sie tatsächlich Dinge tun. Es wird also sehr händig sein, und ich werde es nicht zuckern. Ähm, es wird sein, dass ich dir den harten Weg beibringen werde. Was bedeutet, dass ich dir
zum Beispiel nicht beibringen werde , wie man meine Fortsetzung oder eine Datenbank mit einem coolie wie PHP benutzt. Mein Admin. Das ist eine andere Möglichkeit, dass professionelle Entwickler es tun. Also werde ich dir nicht etwas beibringen, das E.
C.ist, C. denn es ist einfach für dich, es zu benutzen. Sie werden die Tools tatsächlich so lernen, wie professionelle Entwickler es in den
führenden Tech-Startups tun . Also hoffe ich, dass Sie sich mir anschließen und dass Sie diesen Kurs auf Bindung genießen. Ich werde da sein, um bei jedem Schritt des Weges zu helfen. Ähm, deshalb lassen Sie alle anderen Studenten, aber ich kann Ihnen versprechen, dass Sie lernen werden, auch wenn es irgendwann schwer wird, ähm, Sie werden den richtigen Weg lernen, und Sie sind in kürzester Zeit ein professioneller Webentwickler
5. Einführung in Cloud9: Also jetzt werden wir darüber sprechen, was die Entwicklungsumgebung ist, die wir verwenden werden. Und ich habe etwas gesucht und entschied mich, endlich für Cloud neun zu gehen. Cloud neun ist also im Grunde, ah, Web-Entwicklungsumgebung. Denk drüber nach. Ich sage, Ihr Server in der Cloud. Sie können es Codierung hinzufügen, und Sie können Datenbanken starten und es funktioniert basierend auf einer Technologie jeder Art, die Doktor Um, also denke ich, es ist es ah,
es ist eine gute Möglichkeit für uns, Programmieren zu lernen, ohne, ähm, Dinge installieren müssen, Python
installieren. Und wenn Sie, wenn Sie einige der Kurse gesehen haben, die ich habe, gehe
ich immer in, wie die Zehe einrichten. Sie wissen, die verschiedenen Umgebungen und die Datenbanken und all das. Aber ich fand heraus, dass Studenten, weil sie nur so
waren, als ob sie anfangen, es zu lernen ,
wie sie zu lernen, wie man
Windows,
Paice,
Besitzer einrichtet , Windows,
Paice, Paice, oder Mac per Telefon, und dann die Datenbasis und all das. Also habe ich beschlossen, Cloud neun als Entwicklungsumgebung für alle meine Kurse zu verwenden , und es wird gut sein, weil wir in der Lage sein werden, im Grunde zu installieren und in der Lage zu sein, auf dieser Plattform zu programmieren und zu arbeiten, ohne alles auf unseren Computern. Und es spielt keine Rolle, für welches Betriebssystem Sie haben, wenn es Windows oder Mac ist, Sie haben im Grunde eine schlanke Maschine läuft auf, ähm, der Cloud, und Sie können Ihre Anwendung bearbeiten und bearbeiten, wo immer Sie sind. Ähm, das Gute ist, dass sie das Preismodell sind. Sie haben hier ein kostenloses Kontingent, wie Sie sehen können. Und wissen
Sie, Sie können sich im Grunde registrieren, geben Sie
einfach Ihren Benutzernamen und Ihr Passwort ein, und er hat einige ziemlich coole Funktionen wie,
ähm, ähm, kollaborative Codierung. So, zum Beispielkönnen
Sie, können
Sie, wissen
Sie, mit einem anderen Freund von Ihnen oder einem anderen Schüler auf Sie können wir Datenbasis
und Satz von Frameworks ohne Probleme installieren . Also denke ich, es wird eine gute Sache für uns sein, zu benutzen. Und wir werden es übergehen, ähm, ein bisschen uns. Wir fangen an, die Partituren zu machen
6. Nahere Look: Okay, also lasst uns ein wenig mit verschiedenen Bereichen von Wolke 9 vertraut machen. Also zuerst gehst du rüber, um neun Punkt io zu sehen, und du kannst im Grunde einfach auf „Jetzt versucht“ klicken,
um
dein neues Konto zu registrieren ,
um . Sobald du dort
anklickst,kannst du dich bei anmelden. Sobald du dort
anklickst, Wenn Sie ein Tor
haben, ein Konto oder ein großes Bucket-Konto haben, können
Sie sich damit anmelden. Alle, die Sie einen Benutzernamen und E-Mail und ein Passwort wählen können, und wählen Sie hier, so dass Sie erhalten,
wie, wie, eine Erfassung und dann erstellen Sie Ihr häufiges Konto. Wie ich schon sagte, sie haben hier ein kostenloses Konto. Sie haben auch, wie, einige bezahlte Konto Ohren. Aber für die Zwecke dieses Kurses brauchen
Sie nicht wirklich in einen bezahlten Kurs zu bekommen. Ich meine, Konto. Also werde ich mich mit Get Hub einloggen. Und wenn Sie sich anmelden oder sich registrieren, erhalten
Sie im Grunde diesen Bereich, der
das Dashboard ist, und Sie haben so, wie sie Arbeitsbereiche und Arbeitsbereiche nennen. Betrachten Sie sie als grundsätzlich verschiedene Projekte und sie sind im Grunde sicher, wie separate Server, die Sie mit Anwendungen erstellen. Also, zuerst bekommst du diesen Testarbeitsbereich, und dann kannst du einen neuen erstellen, was wir tun werden, wenn wir unsere erste Kolbenanwendung starten. Aber lassen Sie uns sehen, was passiert, wenn Sie diesen vorhandenen Arbeitsbereich auswählen. Aber bevor wir dort ankommen, wenn Sie hier auf den Namen außerhalb des Arbeitsbereichs klicken, haben
Sie im Grunde die Kapazität aus. Wie ein paar Bearbeitung, die Sie haben können. Ah, du wirst eine Lese mich sehen. Du wirst die Akten haben, die da drin sind. Ähm, also kannst du also kannst du
einen kurzen Blick darauf werfen. Leigh, lesen Sie mich. Ähm ist hier in diesem Testprojekt, und hier ist ein sehr interessantes. Sie haben Mitglieder und in Mitgliedern können Sie grundsätzlich einladen. Wenn Sie Leute eingeladen haben, können
Sie sie dort sehen, um Leute einzuladen, müssen
Sie innerhalb des eigentlichen Projekts sein. Aber Sie werden auch sehen, wie viel CPU verwendet, wie viele, wie viel von dem RAM und wie viel von dem Speicher Sie verwenden. Und das haben sie. Für das kostenlose Kontingent können
Sie bis zu eine CPU 512 MB RAM und eine Gigabyte-Festplatte haben, was mehr als dann großzügig ist, finde ich,
ähm, ähm, aber jetzt, wo wir mehr oder weniger wissen, worum geht es dann? Wie ich schon sagte, klicken
Sie auf den Namen selbst. Sie werden diese Statistiken sehen. Aber damit wir tatsächlich anfangen
können, Dinge zu tun, klicken Sie auf diesen grünen Öffnen-Button. Also, wenn wir hier öffnen, , werden
wir mit dem,was man das I.
D nennt, oder die integrierte Entwicklungsumgebung. Und im Grunde ist
das so, als hätte ein Code-Editor auch hier
ein Terminal für den Server. Und Sie haben im Grunde einen Datei-Navigator, wie Sie möchten, erkennen
Sie von ähnlichen Arten von Anwendungen, wie Koordinatoren oder, Sie wissen, sogar wie, Sie wissen, Arbeit oder Redakteure. Aber, ah, hier können Sie im Grunde navigieren, was sich im Ordner befindet. Im Moment haben
wir nur diese Akte lesen Sie mich MD auf der Seite. Hier haben wir im Grunde, können
Sie bearbeiten. Ähm, du weißt alles und du hast auch eine Rückgängig-Funktion, wenn du willst. , Es teilt sich wie viele Dinge,die normale Koordinatoren haben, also ist es sehr,
sehr gut gebaut, hat eine Menge von Kapazitäten. Sie verschenken nicht viel,
ähm,
aus Strom, weil Sie diese zerfallene
Ah-Entwicklungsumgebung benutzt haben. Und hier die Unterseite. Wir haben das Terminal, und das ist etwas, das ich immer freundlich erzwinge, Studenten irgendwie sehr kennenzulernen weil es im Grunde die Art und Weise ist,
mit der Sie mehr mit Systemen interagieren, an die wir uns nicht gewöhnen wollen wie, grafische Dinge. Wir wollen sehr wohl mit dem mit dem Terminal sein. Wenn Sie hier auf diese kleine Art von wie eine Fensterfunktion klicken, erhalten
wir einen, uh, einen eigenständigen Editor. Und du kannst wieder minimieren, indem du darauf klickst, um das ist vergleichbar. Und 11 wichtige, die Sie sich erinnern möchten, ist die Kontrolle Flucht, die im Grunde zeigt und verbirgt, dass das Terminal hin und her. Ähm, Sie können hier auch , Tops
hinzufügen, zum Beispiel. Sie können ein neues wie hinzufügen und ich denke, wenn Sie es zum ersten Mal geöffnet haben, werden
Sie dies im benötigten JavaScript-Editor sehen. Normalerweise schließe ich es, weil es nicht etwas ist,
das wir
für diesen Kurs benutzen werden ,
also kannst du es schließen,
aber du kannst ein anderes Terminal-Fenster haben. , also kannst du es schließen, Sagen wir von Ah, mit einem anderen Ordner geöffnet oder Dinge, die Sie einen Schwung machen möchten. Aber auf jeden Fall, ähm, es ist ah, es ist eine sehr schön integrierte Umgebung und was wir als nächstes betrachten werden, ist eine grundlegende Terminal-Funktion, so dass Sie sich besser mit Terminal-Befehlen und wie man Verzeichnisse und Dinge wie diese kopiert und navigiert.
7. Shell Befehle: Also spielt der Star ein wenig mit dem Terminal? Ich habe die Anrufer geändert,
wie wir hier sehen können.
Ich gehe zu Ah,
du gehst hier zu Einstellungen
und dann gehst du zum
Terminal hier. Ich habe die Anrufer geändert,
wie wir hier sehen können .
Ich gehe zu Ah,
du gehst hier zu Einstellungen
und dann gehst du zum
Terminal hier. Ich gehe zu Ah, du gehst hier zu Einstellungen und dann gehst du zum .
Ich gehe zu Ah,
du gehst hier zu Einstellungen
und dann gehst du zum
Terminal hier. Und dann habe ich den Hintergrund kälter, indem Sie hier auf Schwarz klicken, so dass Sie grundsätzlich jede
beliebige Kombination von Farben setzen können . Ich vergrößere auch die Telefongröße auf 18, damit ihr Jungs ein wenig besser sehen könnt. Ähm, und ich schließe das und lass mich das dann im Vollbildmodus setzen und anfangen, ähm, einen einfachen Mann zu
machen, damit du kennenlernen kannst, wie im Grunde unsere Leinen, ähm, Dateiverwaltung und und mit der Arbeit beginnen. Das erste, was wir sehen werden, ist, dass wir wissen wollen, wo wir zu einem bestimmten Zeitpunkt sind. Und dafür verwenden wir eine chemische PWD, die vorhanden Arbeitsverzeichnis ist. Und hier steht es, dass wir zu Hause Boom zum Arbeitsplatz sind. Siehst du, Leute verstehen es. Home ist im Grunde der Ordner, in dem die Konten, in denen die Benutzerkonten gespeichert sind . Also, wenn Sie einen anderen Benutzer kalt hatten, wissen
Sie Jorge, es wäre Schrägstrich zu Hause Schrägstrich Jorge, und das heißt das Home Directory für diesen Benutzer. Und das stellt immer noch das im Grunde dar. Also, wenn du in irgendeinem bist, der sagt, dass wir in einen anderen Ordner verschoben
haben, ähm, können wir schnell zurückgehen, indem wir CD machen, was das Verzeichnis ändern und das so setzen, bis sie da sind. Es bringt uns zurück zum Home-Verzeichnis. Ähm, also und in Cloud neun gibt es einen „Es gibt einen Workspace-Ordner“, in dem die Projekte im Grunde gespeichert sind. habe ich kein Problem. Normalerweise habe ich,
wenn ich an Lenox arbeite , tatsächlich mit dem
O.P.TVerzeichnis gearbeitet O.P.T . Aber Workspace funktioniert am besten, also nochmal, um uns wissen zu lassen, wo wir bei PWD sind. Also sind wir in der Heimat Bhutto, das ist der Benutzer, dass Chlo neun Ihnen automatisch zuweist, wenn Sie
den Knochen zur Umgebung auswählen und dann Arbeitsbereich, das ist ein Verzeichnis, wo, wo wir sind. Also lassen Sie uns sehen, wie wir sehen können, was der Inhalt des Verzeichnisses ist. Und das ist im Grunde der Befehl ls Also ls wird uns zeigen, welche Dateien in diesem aktuellen
Verzeichnis sind . Und so, wie Sie sehen können, haben
wir mich Dot MD gelesen, das ist, dass Read me Datei, die wir auf dem Editor früher gesehen haben. Sagen
wir mal,wir wollen ein neues Verzeichnis innerhalb des Hauses erstellen. , Ein Boom zum Arbeitsraum. Der Befehl dafür Es ist das Verzeichnis M k die I r machen und sagen wir, wir erstellen einen direkten Rinnentest. Wenn wir das tun,wirst du sehen, dass wir mich gelesen haben. , Und dann haben wir ein Verzeichnis namens Test. Also, damit wir das Verzeichnis ändern können, kommen Sie in das Verzeichnis, das wir CD verwendet haben und dann testen. Ein Trick, über den ihr wissen wollt, ist, dass ihr die ersten,
wie Briefe absetzen könnt , im Grunde Befehle und Verzeichnisse und all das. Und dann, wenn Sie die Registerkarte drücken, werden
Sie sehen, dass es automatisch abgeschlossen, was auch immer, ähm, die besten Übereinstimmungen auf, wenn Sie weiterhin auf Registerkarte klicken, Sie weiter durch diese Dinge zu sehen. Wenn ich also das r sehe und dann auf den Tab klicke, wirst
du sehen, dass, ähm, es sollte mir Zeh bekommen. Da ich nicht in der Marine bin, im Arbeitsbereich. Also, was? Grundsätzlich bekommst
du das Lesen mich leer, aber ich gehe zum, wenn ich es tue, wirst du das sehen? Lesen Sie mich dort, um hier in das Testverzeichnis zu wechseln. Also im Moment ist da nichts drin. , Das nächste,was wir tun werden, ist, dass wir eine gewöhnliche kalte Berührung verwenden und Berührung ist nützlich, um leere Verzeichnisse zu erstellen. Wenn Sie einfach eine schnelle
Datei erstellen möchten
,in der nichts drin ist. Wenn Sie einfach eine schnelle
Datei erstellen möchten
, , So können wir tun, Sagen wir, Test, nicht txt. Wenn du jetzt weniger
machst,wirst du sehen,
dass
es jetzt einen Test-Txt gibt. Wenn du jetzt weniger
machst, wirst du sehen,
dass es jetzt einen Test-Txt gibt. Das ist also ein nützlicher Befehl, für den wir ihn verwenden werden. Es gibt einen Dateinamen namens Any P Y, den wir für die Initialisierung von Verzeichnissen verwenden, da Module für Python-Ball so schnell bekommen. Wenn Sie den Bildschirm aufheben möchten, gehen Sie zurück nach oben. Wir haben einen klaren Befehl verwendet, und das bringt uns mit einem klaren mit einem klaren Bildschirm. Ähm, ein paar andere nützliche Dinge. Nehmen wir an, wir haben Ah, das Testverzeichnis. Hier. Lassen Sie uns ein anderes Verzeichnis namens test erstellen. Ähm, in Sagen wir mal testen. Okay, jetzt haben wir eine tastische Stadt und dann eine andere Mappe. Wir denken, dass, ähm, Kälte-Test rein. Sagen wir mal, ich möchte diesen Ordner verschieben. Ich meine
, der abgelegte Löffel, der Punkt Txt zwei ist. Ihr Test in ich benutze den M V-Befehl
, der Bewegung ist, und im Grunde werde ich den Test der Txt in,
ah,
Test im Verzeichnis verschieben ah, . Also mache ich das. Also bewege ich mich. Ich sage, verschieben Sie den Test txt innerhalb des Verzeichnistests in der Tat drücken Sie die Eingabetaste. Nun, wenn ich ein letztes mache, wirst
du sehen, dass wir keinen Test Txt mehr haben, und es ist im Test in. Aber wie kann ich nachsehen, ohne nochmal gehen zu müssen? Wie beim Testen von Seedy Sie können tatsächlich l s tun und dann den Namen aus einem Verzeichnis eingeben. Und wenn Sie die Eingabetaste drücken, sehen
Sie den Inhalt dieses Verzeichnisses innerhalb , Ordners,
den Sie ausgewählt haben, damit Sie nicht hineingehen müssen. Also, das ist der Zug, Command. Ähm, es gibt auch es gibt auch
einen sehr nützlichen Befehl namens Cat. Gehen wir zurück zum Home-Ordner und dann zum Arbeitsbereich. Siehst du, wie ich das gemacht habe? Ähm, ähm, ich bin jetzt im Homeroom-Zehen-Arbeitsbereich, also gibt es eine chemische Katze und Katze, die es Ihnen erlaubt, den Inhalt einer Datei
schnell zu sehen ,
ohne ... ich bin jetzt im Homeroom-Zehen-Arbeitsbereich,
also gibt es eine chemische Katze und Katze, die es Ihnen erlaubt, den Inhalt einer Datei
schnell zu sehen,
ohne
... Theater oder irgendetwas. Du willst nur ein schnelles Land
nehmen. Also, da gehst du hin. Wenn ich mich also nicht lesen kann, sehe
ich den Inhalt der Datei, ohne zum Editor gehen zu müssen. um Wenn wir eine lange Datei haben, können
wir auch einen Befehl verwenden, den Bildschirm zu löschen, der mehr genannt wird. Also, wenn ich mawr mache und mich dann lese, ähm, wird
es im Grunde Pagine Acht, weil diese Datei nur auf einer Seite zu sehen ist. Es gibt nicht eine ganze Menge von Nutzen dafür. Wenn Sie jedoch mehr eingeben und mehr als eine Seite vorhanden ist, können
Sie den Inhalt der Datei im Grunde paginiert sehen. Ein weiterer nützlicher wird Mann und Mensch genannt. Es ist wie das Handbuch, so dass Sie die Optionen sehen können, die Sie für alle in UNIX- oder
Linux-Befehle haben . Also sagen wir, wenn ich man CP tippe, kann
ich die Aled die Optionen sehen, die ich für den Kopierbefehl habe, und Sie können
nach unten oder Pfeil nach oben drücken , um sie zu sehen. Die Akte. Oder Sie können auch die Leertaste drücken und dann nach Seite paginiert. Wenn Sie beenden möchten, drücken
Sie einfach die Warteschlange, den Warteschlangenbrief und es wird wieder aus. Also, ähm und das ist es, was im Grunde genommen, es benutzt den Befehl „Mehr“
, den ich dir vorhin gesagt habe. Ähm, das Letzte, worüber ich reden möchte, ist die Wildcard. Also, wenn sie das haben, gehen
wir zum Testordner und lassen Sie uns sagen, lassen Sie mich schnell erstellen, das ist zwei dot txt und testen Sie dann drei dot txt. Und da gibt es etwas namens Wild Car, das das Sternchen ist. Ähm, und es ist ein wollte schnell eine Reihe von Dateien verschieben, die mit Test begonnen haben. Wenn ich mich bewege, Teststern oder ASA ist die T Eckstine und ich will sie im Test in Ordner, dieser ass teres wird sagen, OK,
alles, was hat, beginnt mit Test, egal was, Äh, Buchstaben oder Zahlen kommen danach und danach werden
ein Punkt und Txt verschoben. Wenn ich also die Eingabetaste drücke, wirst
du
sehen,dass sehen, ich den Test nicht habe. Ähm, du kennst Dateien mehr, und sie sind alle im Test im Ordner. Das ist also ein kurzer Blick auf Terminalbefehle, und es gibt viele, viele mehr. Und es gibt, wie verschiedene Flags, die wir setzen können, die wie Parameter für diese Befehle sind. Aber du wirst lernen, wie du sie benutzt Azaz. Wir gehen durch den 30-Kurs, aber im Moment ist
das Ah, das ist eine sehr schnelle Einführung in die Terminalbefehle.
8. Python Shell: Also fangen wir an, ein bisschen mit Python zu spielen und wir werden das Terminal wieder benutzen. Die Zeit wird das hier maximieren. Mit Cloud neun haben
wir eine Möglichkeit,Sport von Thorn zu nutzen und von drei per Telefon zu kaufen, um immer noch
sehrbenutzt zu werden, weil es einige Bibliotheken gibt, die noch nicht portiert wurden, um von drei zu kaufen
. Mit Cloud neun haben
wir eine Möglichkeit, Sport von Thorn zu nutzen und von drei per Telefon zu kaufen, um immer noch
sehr benutzt zu werden, weil es einige Bibliotheken gibt, die noch nicht portiert wurden, um von drei zu kaufen Aber ich würde sagen, dass in diesen Tagen die
nützlichsten oder gebräuchlichsten Bibliotheken und Frameworks am meisten aktualisiert wurden. Also fange ich definitiv an. Und ich würde anfangen, Python drei von diesem Punkt an zu verwenden, um und wissen Sie, es ist ah, Es ist eine gute Sache, dass wir von drei Projekten zu verwenden, um so wie unsere Community oder Python-Community zu verschieben in Richtung, dass diese neuere Version. So wie wir darauf zugreifen, wenn wir nur Python wie folgt verwenden, werden wir im Grunde Python 2.7 verwenden, was die letzten beiden Versionen ist, die Sie dash V tun können, um die Version zu überprüfen. Wie Sie per Telefon sehen können,
2.6, 2.6, 2.7 Punkt sechs ich meine,
ist das, was Sie von Python bekommen Aber wir können auch Python drei verwenden, indem Sie einfach von drei eingeben, und dann werden Sie sehen, dass wir 3.4 haben, das ist die neueste per Telefon-Version. Also, das ist gut. Also, ähm, es gibt eine Möglichkeit, mit meinem iPhone zu spielen, und das ist durch die Python-Shell. Und die Art und Weise, wie Sie das tun, ist, dass Sie einfach Ihren Zustand per Telefon oder von drei benutzen und dann die
Eingabetaste drücken , und Sie werden dieses Ah,
im Grunde,
äh,
Terminalbetreten im Grunde, äh, Terminal mit
dem Sie spielen und tun können, wie, kleine Art von Funktionen und lernen, von Sohn besser kennen. Lassen Sie uns also anfangen, einige Befehle zu machen und damit zu spielen.
9. Arithmetische Funktionen: Okay, das erste, was wir tun werden, ist, ähm, telefonisch als Taschenrechner zu
benutzen. - Ja. Du bekommst also eine Vorstellung davon, was wir tun können. Wenn ich durch plus drei tippe,bekomme
ich fünf. Wenn ich durch plus drei tippe, Also, weißt
du, das ist das, ah, grundlegende Sachen da drin, aber
ja, ja, du bekommst ein Gefühl dafür. Also drei minus eins ist für die Multiplikation. Verwendet, um Stern dreimal acht für Division verwendet, um 10 geteilt durch zwei zu schrägen. Ah, eine Sache, die Sie bemerken werden, ist, dass wir in dieser Operation eine so genannte schwebende Zahl . Also war es nicht fünf ganzzahlige Körper war fünf Punkt. Oh,
das liegt daran, dass meine Familie im Grunde so ist wie, äh, voran oder prognostiziert, dass Sie keine,
ähm,
ganzzahlige Zahl bekommen ähm, . Also, wenn wir dann durch drei geteilt werden, erhalten
Sie 3.3333, was,wissen
Sie,
die Fließzahl ist wissen
Sie, . Ähm, wir können auch, ähm, exponentiell tun, indem wir zwei Sternchen machen. Also, um die Macht der drei ist acht. Ähm, und Sie können auch das Modul bekommen, das die Erinnerung an eine Division ist. Also 10 Module, drei iss eins, weil du weißt, 10 geteilt durch drei ist drei und dann bekommst du eins mehr, als die, ähm, mühsam
scheinen. Ähm, das letzte, was hier ist, wie wir,
ähm,
Begriffe zusammenfassen können ähm, , weil normalerweise Abteilungen und Modifikationen vor der Unterkonstruktion
und Addition kommen , zum Beispiel, wenn wir zwei plus Drei, äh, mal fünf. Was hier sehen wird, ist, dass die Multiplikation zuerst kommt, also ist es 15 und dann wird es zu zwei hinzufügen, das ist 17. Aber wenn wir die zwei plus drei zuerst machen wollten, setzen Sie eine Klammer dort und dann wird in diesem Fall zwei bekommen. Plus drei ist fünf mal fünf ist 25, also ist das irgendwie wie grundlegende arithmetische Funktionen.
10. Variablen: Ein Schlüsselkonzept in per Telefon und in anderen Sprachen ist das Konzept der Variablen und lebensfähigen Zar grundsätzlich Boxen, in denen Sie speichern können, um, etwas Wert darin. Und dann können wir diesen Wert
sozusagen aus diesem Box-Namen referenzieren . Nehmen wir also an, wenn ich,
sagen wir,
ein praktikables namens X habe sagen wir, , weisen
Sie ihm ein praktikables mit dem gleichen Befehl zu, und dann machen Sie drei. Von nun an ist
X gleich drei. Um den Wert von einem brauchbaren Wert zu sehen, können
Sie den Befehl prin verwenden. Du druckst also, Warst du diese Saison ausspionieren? Python drei wurde früher mit Auszubildenden X auf Python gedruckt, also erhalten wir jetzt den Wert davon . , Weil es lebensfähig ist,können wir den Wert ändern, wann immer wir wollen. Also, wenn ich jetzt X gleich vier mache und den Druck davon mache, bekomme
ich den neuen Wert. Wie Sie sehen können, können
Sie
die Werte von einem lebensfähigen religiösen Ähm ändern , Sie können auch ein Zeichen sagen, dass wir einen weiteren lebensfähigen Anruf haben. Warum? Und wir können dann auch jetzt ein Sinus x gleich warum? Und das alles, was den Wert von X toe den aktuellen Wert von warum zuweist, und wir werden sehen, warum ich das sage. Also, wenn ich jetzt exe drucken, sehen Sie, dass ich sieben bekomme. Aber wenn ich mich ändere, warum Zehe? Was meinst du? Der Wert des Überschusses der Wert von X ist immer noch der alte Wert. Weil dies als Wert und Bezugshinweis an den Wert übergeben wurde. Also ein für mich, um den Wert von X zu ändern, muss
ich, wie, x gleich
neu zuweisen. Warum X gleich y und dann, wenn ich jetzt X mache, erhalten Sie den aktualisierten Wert. Ähm, und natürlich kann ich das. Einige dieser Variablen, ähm, explosive y entspricht 20 um, und Sie wissen, tun Multiplikation ist und all das. Eine andere interessante Sache ist, dass ich auch ein Zeichen, äh, Strings lebensfähig. Also, wenn ich das tue, sagen wir, jetzt ist Z gleich hallo. Wenn ich bete und hier sehe,wirst
du sehen, dass ich Hallo habe. Wenn ich bete und hier sehe, Und, ähm, wenn ich noch einen habe, ist
es eine Z Z gleiche Welt. Wenn ich c plus zzz tippe, was passiert? Es gibt eine Verkettung. Es wird die Werte nicht hinzufügen, aber es wird nur die Saiten verunreinigen. jedoch, Beachten Siejedoch,dass wir keine Zwischenräume dazwischen haben, was Sie wissen, was? Wir erzählen es im Grunde dem Selbst. Verweisen Sie uns, um einen Raum zu setzen. Wir müssten etwas tun I z plus Zitate plus c Z und dann bekommen wir die richtige Hallo Welt. Ähm, eine Sache, die Sie nicht tun können, es ist an einer Zeichenfolge zu einer Zahl. Wir bekommen da einen Fehler, weil wir,
ähm,
im Grunde,
den Z-Teeumwandelnmüssen ähm, im Grunde,
den Z-Teeumwandeln ,
den Z-Tee . Ah ah ah Nummer, die nicht möglich ist. Aber zum Beispiel, wenn Z ein richtig war und C c Watt gleich zwei ist, wenn ich C plus einfach mache, bekomme
ich diese Ära. Richtig? Aber wenn ich Ende von Z mache, ist
das im Grunde sehen in eine ganze Zahl konvertieren und dann mache ich Plus einfach, dann bekomme ich nicht das richtige Ergebnis. Ähm, das ist
also mehr oder weniger eine Einführung in Virale. Wir werden sie viel benutzen, also werden wir sie ziemlich kennen lernen, während wir auf dem Kurs weitergehen
11. Typen überprüfen: eine Möglichkeit, den Typ aus zu überprüfen, die lebensfähige oder die oder die Nummer, nicht die Nummer über die, um den Begriff, den Sie sind Sie haben, ist durch den Taiko Mann. Also, zum Beispiel, wenn ich eins austippe, heißt
es, es ist ah, es ist ein Typ aus Ganzzahl. Also im Grunde ist es, ah, es ist eine ganzzahlige Zahl. Wenn ich nicht 1.0 tippe, dann sagt mir type, dass es sich um ein schwebendes sie handelt. Das bedeutet, Sie wissen schon, Dezimalstellen drin. Wenn ich X gleich fünf mache und dann X austippe, ist es so,wie
es ist, es ist eine ganze Zahl, weil es es es ist, es zuzuweisen,
ähm zu einer ganzen Zahl. Wenn ich X gleich fünf mache und dann X austippe, ist es so, wie
es ist, es ist eine ganze Zahl, weil es es es ist, es zuzuweisen, Das bedeutet also, dass das Lebensfähige den Typ aus erbt, der Wert auf Wenn ich das in eine Zeichenfolge ändere. Ähm und dann tippe ich wieder X ein. Ich verstehe, weißt
du, die nuklearen neuen Klassen. Es ist eine Schnur. Ähm, eine Sache, die Sie bemerkt haben, ist vielleicht, dass ich den Typ des Pfeils oben und
unten drücken kann , um durch die Geschichte zu gehen,
damit ich die Dinge nicht wieder
zurückziehen muss eine Sache, die Sie bemerkt haben, ist vielleicht, dass ich den Typ des Pfeils oben und
unten drücken kann, um durch die Geschichte zu gehen,
damit ich die Dinge nicht wieder
zurückziehen muss. Ähm, und noch einmal, weißt
du, wenn ich tippe. Hallo? Was eine Zeichenfolge ist, die ich vom Typ aus Stärke bekommen werde. Das ist also eine Nützliche Sache. Toe Wissen und lernen. Ähm, wenn du
willst, weißt du was? - Was? Der Typ aus einem lebensfähigen, dass Sie nicht genau wissen, was es ist? Ähm, äh, irgendwie ist es Andi. Schulen feiern genauso, wie Sie sehen. Sehr. Es sagt Klasse, wir werden in Klassen in später in diesem Abschnitt zu bekommen.
12. Variables Format: Eine Sache, an die du dich gewöhnen
willst, ist etwas namens Pep Acht. Also, wenn Sie zu Google gehen und einfach nach acht,
ähm,
und Fuß Python suchen, nur für ähm, den Fall, dass Sie diese Grube acht,
ähm,
Richtlinie sehen ähm, . Und es gibt im Grunde den Stil Typ für das Ganze, wie per Telefoncodierung. Und das schließt ein, wie Sie wissen, wie man Code mit Taps oder Leerzeichen verwendet. Wie hoch ist die maximale Liegelänge? Und es durchläuft im Grunde alle Konventionen für diese, ähm , du weißt schon, Funktionen. Oh, sind Dinge, die wir normalerweise tun, wenn ich täglich Basis. Wenn Sie also eine Chance haben und Sie,
wissen
Sie,haben , Sie ein langes Mittagessen und Sie möchten sich daran gewöhnen oder sich mit all den
Empfehlungen vertraut machen , wie Sie wissen, dass wir Code in Python eingeben, dann solltest du das definitiv lesen. Aber auf jeden Fall,
ähm,
zurück zu Variablen für Wertsachen,verwenden
wir im Grunde Zahlen Buchstaben und Unterstriche,
ähm,
also im Grunde,
Sie kennen ein gutes Noma Gut. Aber auf jeden Fall,
ähm, ähm, zurück zu Variablen für Wertsachen, verwenden
wir im Grunde Zahlen Buchstaben und Unterstriche, ähm, also im Grunde, Ah, lebensfähiger Name ist, ähm du weißt, dass meine Var Sonys ich einen Unterstrich benutze, wann immer ich Leerzeichen habe, also tue ich das nicht. Meine Bar, äh oder mach meine Hauptfallleiste, was eifersüchtig ablehnt. Ähm
, auf der anderen Sache ist wie versuchen, lebensfähige Namen zu machen, wie erklärt, explizit wie möglich. Wie sie bedeutungsvoll machen. nicht, wissen
Sie, X X X, X X X als ob ich zzz gemacht habe, bevor das war, das war, das ist keine gute Übung. Wenn Sie wie ein Riel-Projekt schreiben, ist
es besser,
Datenbank zu setzen ist
es besser,
Datenbank zu setzen,
ähm,
Indexwert im Vergleich zu DB I,wissen
Sie,
versuchen , ,
ähm, ähm, Indexwert im Vergleich zu DB I, wissen
Sie, , um explizite Namen zu verwenden, Dinge, die Sie können. Leute, die den Code lesen. Ich verstehe nicht, was los ist. Ähm, es gibt auch eine äh, das ist
es nicht. Nichts davon ist wirklich durchgesetzt, aber es ist es wieder, was Bebe diktiert. Wir haben eine Konstante, was bedeutet, dass es eine Nummer ist, die sich nie ändern wird. Wir verwenden alle Kappen. So, zum Beispiel, um, Datenschächte ah, Name, zum Beispiel, gleich Test. Das ist also so, als wäre es eine gute Praxis, Caps zu haben, denn das bedeutet, wenn die Person oder der Entwickler, der den Code liest, das ansieht, weiß
er. Oh, das ist etwas, das sich in der Codebasis nicht ändert, es ist Ah, es ist eine Katze, es ist Ah, es ist Kapital Leben. Das heißt, es wird sich nicht ändern, Ähm, aber es gibt all die Dinge, die man auf jeden Fall anschauen sollte und einen Blick auf Pervade werfen sollte, wenn man eine Chance hat, weil es, ah, es ist nützlich für dich , um sich mit ihm vertraut zu machen.
13. Streifen: Werfen wir einen Blick auf einige Stärkefunktionen. Und, ähm, und Helfer. Ähm, Strings können als Anführungszeichen wie X gleich Hallo oder als Singles xolo ausgedrückt werden. Eine Sache zu wissen ist, dass Strings im Grunde eine Gehaltserhöhung sind,
und wir werden eine Gehaltserhöhung sehen, die in Kuchendonner-kalten Listen später ein wenig detaillierter ist. Spot denken im Grunde Honore als eine Sammlung von einzelnen Charakteren. Also was das bedeutet, ist, dass, wenn ich es
tue, sagen wir X von Null. Das bedeutet, dass ich das erste Zeichen von der Saite bekommen werde. Wenn ich X aus einem mache, bekomme
ich die zweite. Wie Sie sehen können, ist
es im Grunde eine Sammlung oder ein Array von den Strings. H e l l O. Und das ist etwas,
an das man sich erinnern kann, wenn , die,
ähm,wissen
Sie,
Sub-Strings von einer Zeichenfolge
abholen ähm,wissen
Sie, wissen
Sie, kann, indem man einen Bereich von Zeichen setzt. Zum Beispiel, wenn ich Null rufe drei, bekomme
ich die ersten 3 Zeichen von dieser Zeichenfolge, Ähm, die gleiche Weise. Wenn ich drei bis fünf mache, bekomme
ich die letzten beiden Charaktere. ,
ähm Die Sache ist,
ähm, , wie wir vorhin gesehen haben, können
wir angeborene Schnur betrügen. Also, wenn ich zu warum gleich ist? Ähm hey, dann können wir Sprengstoff machen. Warum? Und ich bekomme Hallo, Paul. Um, wenn wir den Abstand zwischen
dem Werkzeug machen
wollen , füge ich einfach diesen Raum hinein. Um, wir können,
um,
eine Zeichenfolge konvertieren , die ich eine Zahl Zehe eines Streams meine, indem wir die str Funktion verwenden. Also, zum Beispiel, wenn ich
es habe, ist es ein c gleich drei. Erinnerst du dich, wie wir gesagt haben, dass wir nicht in acht kommen können? Ähm, die ganze Zahl und eine Zahl, wenn du Hallo sagen wolltest, Äh, drei. Wir würden X plus str off drei off z tun so str wird die Zahl drei konvertieren, die eine ganze Zahl zu uns Stärke und ihre Werke ist. Wenn du ins Gegenteil wolltest, erinnerst du dich? Als ob wir eine Zeichenfolge haben wollten,
die
im Grunde eine Zahl war , ,die wir den Wert davon erhalten wollen. Dann tun wir ich nt Es gibt auch einige Methoden, die wir verwenden können, die bereits in den
Strings eingebaut sind . Zum Beispiel, wenn ich das Hallo alles in Großbuchstaben haben wollte, würde
ich x dot Angebot machen und, äh off Das macht nicht viel Sinn, denke
ich. Ähm, sagen
wir, warum nicht anbieten und wir werden Paul alle in Großbuchstaben sehen, und ich will sie alle senken, als wir X niedriger machen. Es gibt also mehr Methoden wie diese. Aber du bekommst eine Idee von einigen Dingen, die du willst, ähm, weißt du, da
gibt es sicher meinen Fuß. So können Sie, dass Sie verwenden können und eine weniger, die Sie oft verwenden werden, ist Len, was die Länge von einer bestimmten Zeichenfolge ist. Also, Len weg. Warum ist vier, was Paul ist? Also, Also Sie wissen schon, werfen Sie einen Blick auf String-Operationen. Wenn Sie eine Zeit haben, gibt es viele von ihnen, aber diese sind irgendwie wie diejenigen, die am meisten danach verwendet werden.
14. Listen, Tuch und Wörterbücher: Also werfen wir einen Blick auf drei. Ähm, sehr nützliche Typen Variablen aus, wenn es Listen genannt wird. Liste ist im Grunde eine ah,
eineListe von Werten, die Zahlen oder Strings oder beides sein können. Liste ist im Grunde eine ah,
eine Also lassen Sie uns sagen, X ist eine gemeinsame auf drei kommen. Und Sie schließen sie mit Klammern,
und das bedeutet, dass das eine Liste ist. Und Sie schließen sie mit Klammern, Also jede Druckexe, die Sie die ganze Liste bekommen, sogar um Typ X zu bekommen, Sie erhalten die Typklasse ist Liste, um so zumindest sind sehr nützlich, wenn Sie,
ah,
im Grunde eine geordnete oder in der Reihenfolge wie die am wenigsten Off-Werte haben ah, , die sind, , auf die Sie Zugriff haben müssen. Und viele Male,
Dinge, die aus wie die Datenbank kommen, werden zurückgegeben, wenn wir heben. So wollen Sie, wie, in
der Lage sein, durch sie zu schauen und ihre ihre lebensfähigen ihre Werte zu bekommen. Eine Sache, die Sie tun können, ist eine Schleife durch eine Liste. Aber das ist etwas, das wir uns ein wenig später ansehen werden. Ein anderer Typ,
ähm,
oder ein anderer,
äh,
ja,
irgendwie anders gelagert. Ein anderer Typ, ähm, oder ein anderer, äh, ja, Um, Funktion oder oder oder Klasse ist Stupples und Topolsky wird im Grunde mit Teilen verwendet. Sie können also wissen, dass X auch ein Komma ist. Und das ist ein Topol. Wenn Sie also X austippen, erhalten
Sie ein Topol. Also eine Sache, die die Liste auf den beiden Polen trennt, ist, dass Sie nicht einmal ein zur Polizei, finden
sie, dass Sie die Werte nicht aktualisieren können. Es stellt sich also ein Topol als eine Konstante von, ah Konstantenliste oder eine statische Liste vor, die Sie danach nicht ändern können. Um sowohl einen Dreifach- als auch einen Listenwert an einer bestimmten Position zu erhalten. Du machst im Grunde, ähm, x off. Sagen wir, der Index also eigentlich X aus Null, was ist das Topol? Es ist ein x von eins ist zu Also es ist ah, es ist immer du beginnt immer das nächste bei Null etwas, das wir manchmal vergessen, Ähm und was? Grundsätzlich können
Sie einen der Werte von dieser Liste entfernen oder mit dieser
Notation ziehen . Sagen wir mal, , wir wollen Zeh. Ich möchte Ihnen zeigen, wie wir den Wert aus dem Mietvertrag ändern können, aber nicht von einem Topol. So findet der Ex wieder als 123 Wenn ich X aus mache, ist
man jetzt gleich vier, wenn ich Exe ausdrucke ,
sehe, dass ich gerade ersetzt Das gewann den zweiten Wert 24 Aber wenn ich diese Tupelo 1 zu 3 tat und Sie werden feststellen, dass ich ein Komma nach dem Schlimmsten setzen, das ist irgendwie wie die Art, wie Sie mit Topples arbeiten, müssen
Sie irgendwie mit dem Koma enden, obwohl Sie dort keinen Wert setzen. Also, wenn ich tue, warum aus eins gleich vier ist, werde
ich da reinkommen, weil es keine Artikelzuweisung auf Summen gibt. , Der letzte Typ,den wir sehen werden, heißt Wörterbücher und Wörterbücher sind im Grunde Schlüsselwert, um, Objekte. Also im Grunde, wenn ich das tue, sagen
wir, äh, zuerst ist es Jorge und dann die letzte ISS Escobar. Und dann habe ich Carly Klammern für diese verwendet, also sagen sie, ist ein Wörterbuch und die Art, wie Sie es referenzieren, anstatt X aus Null zu machen, was Sie in einer Liste tun würden, machen
Sie zuerst X aus, und das wird Jorge zurückgeben. Viele Male werden diese Objekte genannt. Wörterbücher werden als Objekte bezeichnet, weil es so ist, wie die ersten auf dem letzten sind Eigenschaften dieses Objekts. Und, ähm, und ihre Werte sind die, die Sie hinterher setzen. , Das Letzte,was wir sehen wollen, ist, ähm, Sie können eine Liste von Wörterbüchern erstellen, was Sie viel sehen werden, wenn Sie wieder mit Datenbanken interagieren . Also, zum Beispiel, sagen
wir, wir haben, wissen
Sie, Benutzer gleich und dann haben wir, sagen wir, ah, lassen Sie uns einen anderen Benutzer finden. Wir, äh, warum ist der erste Paul. Ah, und dann ist der Nachname, äh, Gram. Also, jetzt kann ich Benutzer gleich ex ruhiger machen. - Warum? Also, das ist eine Liste von Benutzern. Wenn ich Uh Benutzer ausdrucke. Ich sehe, dass ich all diese Objekte dort habe, und etwas, das Sie bemerken werden, ist, dass ich das Wörterbuch zuerst gleich Pole und
Lasses Gramm esse . Aber jetzt ist es Druck. Letzter erster und 1. 2. Das ist etwas, das Sie in Wörterbüchern nicht kontrollieren können. Bestellen drei den Schlüssel aus? Ähm, runter von den Schlüsseln. Ähm, und es ist im Grunde zufällig in Python gespeichert. Grundsätzlich gibt es keine Garantie, dass aus. Ich bestelle die Schlüssel aus. Ähm, aber es gibt Dinge, die man tun kann, um zu managen, dass man etwas gekauft hat, für man immer mag. Denken Sie daran
15. Datum und Zeit und Zeit: Python hat großartige Steuerfunktionen für Datumsangaben in der Zeit. , Noch einmal, es gibt eine Menge Informationen, aber wir werden einige
wirklich einfache Dinge sehen , ,die Sie tun können. Also das erste, was Sie tun möchten, ist der Import tagsüber, die eine Sammlung von Datum und Uhrzeit ist, um, Funktionen und Dienstprogramme, Übrigens,
wir haben das noch nicht gesehen, also importieren Sie bedeutet im Grunde, wissen
Sie, Laden des Zehenspeichers, dieses spezifische Modul. Und das ist eine Menge, wie Python funktioniert. Es ist, ähm, im Grunde, Sie importieren oder Sie Art off Anzeige von den Bibliotheken oder Dienstprogrammen, die Sie in
Ihrem falschen System haben . Aber Sie
müssen sie nicht alle auf einmal laden lassen. So wählen Sie,wissen
Sie, wissen
Sie, aus und
wählen aus, welche Dienstprogramme Sie in einer bestimmten Datei verwenden werden. Ähm, und wir werden eine Menge von diesen Ärschen sehen. Wir kommen in den Kurs, aber jetzt, nachdem ich Moderator, habe ich all diese Tagesfunktionen für mich zur Verfügung. Aber wenn wir sehen, ist das,
ähm, ähm, das heißt, tagsüber, das heißt, tagsüber,
und was das bedeutet, , ist,dass es ist, wenn ich ausdrucke, dass ich einen Staat bekomme
, der heißt, Sie wissen, heute, Staat und die Stunde. Ähm, sofort, aus, aus, aus, aus dem Computer. Ähm, also im Grunde, da CLOUD9 in der Cloud arbeitet, glaube
ich, dass dies bereits gesagt wird,
um zwei UTC, was im Grunde die, Sie wissen, Weltzeit oder grün jedes Mal als ein So haben Sie vielleicht gehört. Ähm, und das ist sehr gute Praxis. Du hast nie den lokalen Zeitzeten-Speicher als Zeitstempel benutzt, weil ,
ähm ,
du wirst im Grunde sein, Benutzer werden in verschiedenen Zeitzonen sein, und du willst keine Conversions machen. Ähm, nach den Daten, die der Ehemann speichert. Also denken Sie daran, das ist eine goldene Regel. Speichern Sie Zeit oder Datumsangaben in der Datenbank immer als UTC. Aber wir werden sehen, was? - Was? Wie wir das vorerst machen. Nehmen wir an, das ist die Ortszeit. Also,
wenn ich es jetzt tue , ist
es ein Typ aus. Jetzt werden Sie sehen, dass es unser off-Typ-Tages-Datum ist. Ähm, aber jetzt kann ich einfach Dinge wie „Warum nicht Jahr „machen? Ähm, oh, tut mir leid. Jetzt das Jahr und du wirst sehen, dass ich das Jahr für dieses Datum bekomme. Und ich kann jetzt sagen, dass unsere Ich werde mir die Stunde sagen. Also, weißt
du, ich kann im Grunde, ähm, in der Lage
sein, Abschleppstangen zu sein. Unterschiedliche Differenz. Verschiedene Teile davon von den Daten. Um, wissen
Sie, damit wir die UTC richtig starten können, müssen
wir diese spezifische,
äh, äh, Klasse oder Funktion ical Tag vom Tag Importdatum importieren. Und jetzt können wir jetzt tun,
um es zu sehen, es ist eine Zeit, die Sie sehen, und wir weisen das jetzt Tages-UTC zu. Und das wird uns, ähm, die UTC, äh, für diesen genauen Moment geben. Und wie Sie sehen können, ist
es die gleichen, im Grunde die gleichen Stunden wie Cloud neun uns gab wie die lokale Zeit, die intelligent ist. Ich meine, sie benutzen UTC. Ja, da als ihre Zeit. Sie müssen also nicht das tun, was Sie wissen, Sie müssen sich nicht mit dieser Bekehrung beschäftigen. Ähm, manuell, aber ich erwarte und speichere Dinge mit dieser Funktion, die Sie jetzt
gegen diese Funktion sehen ,
Ähm, etwas, das Sie sich immer erinnern
16. Conditionals: Also werfen wir einen Blick auf, ähm auf zwei sehr wichtige Teile des iPhone genannt bedingte ist und Kontrollfluss. Bedingt ist also im Grunde, dass Sie einen Wert mit einem anderen vergleichen möchten. Und, ähm, im Grunde, wenn wir X gleich drei haben und warum gleich vier ist, äh, äh,wäre
eine Bedingung X niedriger als vier. Und all diese Bedingungen geben uns entweder wahr oder falsch. Das sind im Grunde Milliarden. Milliarden sind
logische
,
wahre,
falsche,
freundliche Virale. Milliarden sind , wahre, logische
,
wahre, falsche, falsche, Also, ähm, wenn ich X größer als vier ist, dann bekomme ich eine falsche, weil drei nicht größer als vier ist. Ähm, ich kann auch tun, ähm, ist X größer als warum? Und das gibt uns einen falschen Schwung. Ähm, eine Sache, die wir auch tun können, ist X ist nicht gleich warum, und das wird uns im Grunde geben, sind Eier. Und dann als der Wert von X ist nicht gleich dem Wert, warum um, wir können auch,
um X ist klein oder gleich seinem a drei. Das ist wahr, denn obwohl es nicht weniger als drei ist, ist
es gleich drei auf der gleichen Sache. Warum ist größer als oder gleich vier? Es wird uns auch wahr geben. Ähm, das sind
also die grundlegenden? Um Dann Steuerung fließt im Grunde können Sie steuern, wo das Programm geht, indem Sie tun, wenn Bedingungen. Richtig. Also, wenn ich zu Wenn X niedriger als vier ist, dann würden Sie einen Semikolon dort haben und Sie drücken die Eingabetaste. Siehst du, wie wir da drei Punkte haben? Das bedeutet, dass per Telefon erwartet, dass Sie eine Art wie den inneren Frieden von
dieser Bedingung setzen . Also kannst du ein Leerzeichen drücken, das du tun musst, denn ich meine, der Editor, du wirst vier sehen. Aber im Terminal können
Sie nur einen machen, und das ist in Ordnung. Also, wenn xx Moll vor dann, dann drucken exe niedriger ist, dann vier. Okay, wenn ich
also die Eingabetaste drücke und dann drucken, drucken, erneut
eingeben, dann wird es das ausführen, weil X, das drei ist. Er ist niedriger als vier. Damit das ausgeführt wird. Aber es ist sicher. Wir wollten tun, wenn warum größer als fünf ist, was falsch ist, oder? Also können wir drucken. Warum wird größer für getan? Was hier passieren wird, ist, dass nichts gedruckt wird. Warum? Weil du weißt, warum. Es ist nicht großartig und fünf, so dass es entkommen und weiter. Aber da gab es nichts anderes zu tun. Also eine Sache, die wir tun könnten, ist eine andere Aussage zu machen. Also, wenn Sie das tun, wenn Warum ,
äh , das
waren als fünf, dann bringe ich das und sie setzen Els und auch halb anrufen und dann drucken. Warum ISS sagen nicht größer als vier. Also, wenn ich hier nochmals die Eingabetaste drücke, wirst
du sehen, dass es die zweite Zeile ausführen wird. Sehen Sie? Also das ist, wenn sonst, ähm, es
gibt, als ob Sie im Grunde alle Ihre Programme bauen, mit einer Menge davon wie Bausteine. Es ist also sehr wichtig, dass du sie kennst. Ich lerne,
ähm,
mehr von ihnen von uns kennen ähm, . Wir fahren mit dem Kurs fort.
17. Schleifen: Schauen wir uns Schleifen an. Loops sind im Grunde wie das Wort etwas, das Zyklen, bis etwas passiert. Und dann gehen sie normalerweise aus. Obwohl wir haben können, ah, begrenzte Schleife. Und dann, ähm, können
Sie für eine lange Zeit weitermachen, bis Sie das Programm im Grunde stoppen. Aber mal sehen, wie das aussieht. Nehmen wir an, wir haben diese Liste,
um, um, und fünf x 12345 Wir können durch all diese Werte schauen, indem wir etwas, das ein Vier-Look genannt wird . Also was, Was Vier Dosen, die im Grunde Sie Wert zuweisen. Lassen Sie uns dieses Gelübde in X nennen, und Sie setzen einen Semikolon und dann werden Sie etwas tun, wenn für jedes einzelne Element es
für jedes einzelne Elementdas ausführt und es wird Gelübde als Dieb Wert für die Liebe haben. Also lasst uns einfach weiter gehen und Val da drin beten. Wenn ich also die Eingabetaste gedrückt habe, wirst
du sehen, dass er jeden durchgegangen ist und dass sie diesen Wert gedruckt haben. Das nennt man also eine for-Schleife. Du benutzt das die ganze Zeit. Das kommt, irgendwie wie eine dieser, Sie wissen schon, sehr nützlichen Funktionen. Eine andere, die wir verwenden können, ist, ähm, eine while-Schleife und dafür. Lassen Sie uns etwas anderes versuchen, das sagen, dass X gleich Null auf dem lokalen hier sein wird, während X
niedriger als sechs ist . Nehmen wir an, dann drucken wir exe und dann machen wir eine andere, da wir den Wert von X
ändern müssen , ,weil das jedes Mal überprüft wird, wenn diese Schleife endet, wir müssen sagen, dass X gleich explosiv ist. Das heißt jetzt, das erste Mal, dass es Null ist. Wenn er hier
ist, wird es dran sein. - Was? Und jetzt wird es eins sein. Irgendwelche Schecks wieder. Also, jetzt X, das ist eins ist niedriger als Sex. Es sind immer noch Fingerabdrücke, die einen ausziehen. Also X ist jetzt zwei Überprüfungen, dass und so weiter, bis er zu fünf kommt. Richtig? Und wenn die Quellen hierher bringen wir es bringt fünf. Es wird 1256 hinzufügen und wenn er versucht, das erneut auszuführen, weil sechs nicht niedriger als
sechs ist , es beendet und mit den Kommentaren fortfahren, die Sie danach haben. Also sehen sie diese Untätigkeit. Und wie Sie sehen können, wird
es von 0 bis 5 ausgeführt. , In
dem Moment,in dem es sechs wurde, wurde es nicht mehr hingerichtet. Ähm, das sind einige der am meisten verwendeten Look Bloops, aber es gibt noch andere Variationen, einige der Dinge, die Sie entdecken werden, als wir allein gehen.
18. Funktionen: Okay, Wir werden jetzt einen Blick auf Funktionen werfen, damit wir unsere eigenen Funktionen definieren können, indem wir das Schlüsselwort
Tod verwenden , das ist, wie, definieren Sie So sind sie in Ordnung. Das ist ein, ähm, plus eins. Und dann im Grunde, passieren
Sie. Sie können hier nichts haben, oder Sie können Parameter haben, die grundsätzlich Virale sind, die festgelegt werden, wenn diese Funktion aufgerufen
wird. Also in diesem Fall werden
wir passieren. Ah, als Nächstes. Lebensfähig. Also, sobald das eingestellt ist, können
wir damit etwas machen. Lebensfähig. So zum Beispiel können
wir
zum Beispielsagen, um, X gleich X plus eins, weshalb die Funktion plus eins aufgerufen wird. Und dann können wir drucken. Exe. Okay, jetzt haben wir diese Funktion. Und wenn Sie pl uns eingeben und dann Tab drücken, werden
Sie sehen, dass Python Reihenfolge das abgeschlossen ist, weil es das bereits im Speicher hat. Damit wir sehen können, was dort passiert, können wir über fünf hinausgehen. Und wenn wir eintreten, wird es sechs zurückgeben. Also, was ist dort passiert? Es nannte die Funktion es vorbei fünf uns. Das X ist im Grunde X gleich fünf. Ein fröhliches hat X gleich X plus eins, und es druckte diesen Wert Also, wenn wir 15 hören, bekommen wir 16. Also verstehst du die Idee. Das ist irgendwie, was Funktionen sind und, ähm, wir können wir grundsätzlich Funktionen auch die ganze Zeit verwenden? Es ist sehr wichtig, dass wir verstehen, wie sie funktionieren. Aber spielen Sie ein wenig mit Funktionen und sehen Sie, was Sie aus ihnen herausbekommen können. Eine wichtige Sache, an die ich mich erinnern möchte, ähm, ich weiß und erinnere mich, , weil es eine grundlegende Sache ist. Es gibt etwas, das Scoping genannt wird, und im Grunde werden die Variablen, die innerhalb von Funktionen definiert sind, nicht außerhalb verfügbar gemacht. Also in diesem Fall, wenn ich hier exe ausdrucke , werden
Sie sehen, dass ich nichts bekomme, weil es nicht definiert ist, obwohl es ihre innerhalb des Plus eins ist. Aber das brauchbare heißt. Es nennt sich ein örtlicher lebensfähiger Zehe. Diese Funktion, und das ist die Art und Weise, wie Python die Daten von außen nach
innerhalb der Funktion schützt ,
um, um, indem diese Trennung verwendet wird. Denk daran, dass manchmal weißt du, Studenten das vergessen, und sie sind wie Warum? Warum kann ich nicht X bekommen, wenn es innerhalb der Funktion gesehen wird? Denken Sie daran, dass das lebensfähige auf Lee gesehen ist, und es ist nur offensichtlich oder nutzbar durch diese Funktion, aber nicht außerhalb
19. Kurse und Objekte: Also, , etwas,das Sie vielleicht gehört haben, ist, dass Python eine objektorientierte Sprache ist und, wissen
Sie, objektorientierte Programmierung ist etwas, das Bean hat, wissen
Sie, wird für eine lange verwendet Zeit. Und es gibt Sprachen, die objektorientiert sind, wie Java per Telefon. Aber einige andere sind nicht richtig objektorientiert, wie JavaScript, um und ah ph B. die sie irgendwie Bean haben, die in Richtung Objektorientierung gelangen. Ähm, und der Hauptvorteil aus objektorientierter Programmierung. Und mit diesem Konzept ist,
ähm ist, dass Sie wissen, wie Sie Daten besser verwalten und Dinge nutzbar machen können, ähm ,
und im Grunde erlauben,
Logik in einem
in Azu trennen , Logik in einem
in A . Art und Weise. Es ist ein Konzept, das du nicht sofort begreifen wirst. Es ist etwas, das Sie gut aus stark ein wenig auf, und Sie werden es durch das Üben viel bekommen. Aber denken Sie Objekte als, ähm off, Nehmen wir an, ein im Grunde ein physikalisches Objekt, das digital mit grundsätzlich zwei
Dingen dargestellt wird. Eine ist Eigenschaften auf den anderen s Methoden. Eigenschaften sind, zum Beispiel, wenn Sie ein Auto haben, Eigenschaft könnte die Anzahl der Räder rechts sein, das ist, Sie wissen, für eine normale wie Limousine sagen. Es sind vier. Aber wenn es ein Truck ist, ist
es wie 16 oder was auch immer der Fall sein mag, das ist eine Eigenschaft. Und eine Methode wäre, wissen
Sie, starten Sie den Motor. Etwas, das seine Art wie eine Funktion für dieses Objekt und die Klasse ist, die wir Klassen im Grunde als Blueprint oder die, wissen
Sie, die Schaltpläne für Sie, um eine Instanz oder einen Klon von diesem Objekt zu erzeugen. Also lasst uns noch einmal ein Beispiel machen. Wenn Sie nicht vollständig verstehen, gibt es eine Menge Dinge, die Sie lesen können oder sogar per Telefon und Flash verwenden. Sie erhalten ein besseres Verständnis davon, was Klassen und Objekte sind. Aber lassen Sie uns ein Beispiel machen. Also eine Sache, die Sie sich erinnern möchten, ist, dass Klassen finden sie mit, ähm, im Grunde einen Oprah Fall für jedes der Wörter und Nein auf diesem Kurs in ihnen. Das ist irgendwie wie die Pep Acht von ihnen. Sagen wir mal
, , wir definieren ein Gold-Auto der Klasse, richtig? Also das Auto, das ich nur eine, ähm, im Grunde eine Eigenschaft kalt Marke, also werde ich eine Methode namens definieren. Ähm, wissen
Sie, sagte Marke, und Sie setzen sich immer selbst als ersten Parameter für diese Funktionen, die innerhalb der
Klasse sind . Und es ist im Grunde eine Art zu sagen, dass dies nur von einer Instanz aus diesem Auto aufgerufen werden kann und wir werden hier etwas namens Marke setzen. Also dann werde ich sagen, die Marke des Autos ist, was Sie als diese Marke auf
dieser Funktion übergeben haben , und lassen Sie uns es dabei belassen. Also im Grunde, jetzt kann ich die feinen Kopien von dieser Klasse oder Objekten oder Instanzen, im Grunde Instanzen von Auto, die im Grunde Klone voneinander sind, und ich kann eine Marke für jeden von ihnen setzen. Also, zum Beispiel, wenn ich sage, X ist auf Instanz aus einem Auto und ich weit in dieses Jahr, wenn ich Typ von X ausschiebe, werden
Sie sehen, dass es sagt, es ist ein Es ist eine Art von Auto, richtig? Aber jetzt weißt du,
wenn ich exe ausdrucke,werde
ich nichts bekommen. Aber jetzt weißt du, wenn ich exe ausdrucke , Es ist nur, dass ein Autoobjekt. , Aber jetzt,wenn ich die Marke setzen will, rufe
ich diese Funktion an, indem ich x Punkt Set Marke mache und sie werden zu Ihrem Okay setzen, also jetzt, wenn ich die Marke des Autos bekomme, ich die Marke X und ich werde Toyota holen. Ähm, dann kann ich noch ein Auto machen
, deshalb. Und dann mache ich Ah, warum? Sagte Marke. Ach, Ford. Und wenn ich dann versucht habe, X zur Marke Y wieder vorwärts zu bringen. Also im Grunde Ex. Und warum sind Instanzen außerhalb der Fahrzeugklasse? Das sind im Grunde Autos, und ich kann Mawr-Funktionen einstellen. Schleppen Sie sie, die Methoden genannt werden. In diesem Fall, sagte Brian, es ist eine Methode. Und, äh, wissen
Sie, Manipulator-definierte Eigenschaften wie Brand ist eine Eigenschaft, also werden wir ein bisschen mehr von diesen Ärschen sehen, die wir mitmachen. Aber das ist im Grunde eine sehr kurze Einführung, was Gläser und Objekte sind. Ein paar Dinge, die ich zu unserer Klasse Vorlesung hinzufügen wollte, ist einer von ihnen heißt Ah, magische Methoden. Oh, sind ihre Art von eingebauten Methoden, und wir werden eine sehen, die wirklich wichtig ist. Es heißt die angeborene Funktion, ähm, die im Grunde anweist, wie wir eine Instanz der Klasse initialisieren. Ach, indem ein paar Bibeln übergeben werden müssen. Und die andere ist, ähm, die Vorstellung von der
Unterklasse, ähm , , was im Grunde ist,dass Sie eine Klasse nehmen und dann,
äh,
erweitern können äh, . Und ah, das ist Gold im Erbe. Sie können die älteren Methoden und alle Eigenschaften dieser Klasse verletzen, indem Sie die
Klasse uns den ersten Parameter umgehen . Aber schauen wir uns an, wie das funktioniert. Weil wir den Python Interpreter nicht wieder von drei eingeben würden. Und wir werden ein Ah definieren, wieder das Klassenauto und ohne Parameter da drin. Also werde ich eine,
ähm,
eine neue Methode definieren ähm, , eine magische Methode, die in vielen Klassen vorhanden ist. Es ist sehr oft, dass wir das verwenden und es wird darin genannt. Also brauchen wir. Was es sagt, ist, dass, wenn Sie eine neue Instanz des Autos erstellen, Sie Toby brauchen, müssen
Sie diese praktikable passieren, dass. Ich werde hier zuhören. Also werde ich das tun, indem ich sage, dass ich,
ah,
vorausgesetzt,dass die Marke sein muss ah,
vorausgesetzt, , wenn ich das neue und das neue Auto kreiere. Instanz jemand und dann wieder hier. Und was diese innit-Methode tut, ist, dass sie die Verkaufsmarke Zehe setzen wird. Was auch immer Sie vorbeigegangen sind, Brand hier. Jetzt werde ich noch einen erschaffen. Eine andere Methode. Dieses ist keine magische Methode, die Marke Get genannt wird. Und was das tut, ist,
dass es die Marke
ausdrucken wird . Okay, also jetzt, ähm, wenn wir ah, führen Sie das aus. Sagen wir, wir haben unser erstes Auto, und es wird sein,
ähm, sagen wir, es ist Ah, es ist mein Auto. Es nennt es mein Auto, und es wird ein Typ aus dem Auto sein. Richtig? Nun,
denken Sie daran, dass wir es tun müssen, anstatt den Eltern zu stellen, ist wie wir es vorher getan haben. Wir müssen diese magische Methode darin bestehen und sie brauchen bei der Hochzeit. Ich weiß nicht, ob ich gesagt habe, dass es zu unterstrichen ist. Und dann, um alle magischen Methoden zu unterstreichen. Haben Sie das, ähm, das Protokoll, an das Sie unter Unterstriche übergeben müssen. Also, ah, hier. Wir werden Toyota als die andere Marke übergeben. Also, was ist passiert? Grundsätzlich erstelle
ich eine neue Instanz aus einer Auto-Klasse namens mein Auto, und wenn ich initialisiert, dass ich eine benötigt, um diese Marke zu übergeben. Dieser Toyota-Saite wird also der Zehe zugewiesen, die lebensfähig sind, die eine Definition auf
dem darin waren . Und dann ist es vorbei an der Selbstmarke, die die lokale oder die lokale lebensfähige Marke ist, die dieses Auto hat. Also jetzt, wenn ich mein Auto Punkt bekommen Marke, es bringt Toyota. Also, das wurde richtig gesagt, richtig? Es ist dasselbe, dass nur auf die Marke direkt hier zugreift, nämlich Toyota. Aber wie Sie bemerken, dass im oberen Beispiel, im oberen Beispiel, es ist nicht. Es ist nicht mit Zitaten zurückgegeben, weil es nur Druck auf dem Bildschirm gegen das ist eigentlich der lebensfähige Toyota. Also, das ist, Ah, magische Methode. Es gibt viele weitere, die wir für unsere Besitzer Beispiele in der Datenbank verwenden werden. Ähm, es ist ah, wenn sie ar e pr oder reproduzieren, ich denke, es ist ah, es steht für und das wird im Grunde Ah drucken, die Darstellung von diesem Datensatz aus dem Datenbank-Datensatz auf dem Terminal Immer wenn du es
ziehst, und da sind ihre Soldaten, die wir auch ansehen werden. Okay, jetzt schauen wir uns unsere Vererbung so inhärent an und im Grunde möchte ich einen neuen erstellen, den ich kannte, Kollaps, aber ich will nicht mögen, sagen
wir, tun dies alle Definitionen und alle Dinge, die diese Klasse bereits hat, also möchte ich darauf aufbauen. Dies ist sehr häufig, wenn Sie möchten. Es ist eine Arbeit an einem Open-Source-Projekt, und eine andere Person schrieb all diese Großen. Ähm, Sie wissen schon, Funktionalitäten rund um die Uhr. Das ist eine Kommunikation mit einem Ah, mit einem Arduino,
auf Ihrem,
ähm , , dass Sie Ihren Laptop anschließen können,
um, und Sie wollen, dass Sie von unserem Zeh an der Spitze dieser Bibliotheken bauen. Dann können Sie diese Bibliotheken oder jene Klassen erben, die diese Bibliothek definiert,
ohne die ganze Arbeit, die dieser ältere Entwickler getan hat, wiederholen zu müssen. Das ist also eine sehr mächtige Sache, die objektorientierte Programmierung uns in Python ermöglicht . Also sagen wir das, und ich möchte einen neuen Fahrzeugtyp der Klasse namens Truck erstellen, aber dieses Mal, anstatt es leer zu lassen, werde
ich passieren Auto gefragt,
um, ähm, wie die Elternklasse auf gibt es wie eine es Art wie ein Elternteil, ähm, Kind, um, eine Art wie Beziehung. Und da also dieser Klassenwagen, wenn ich diesen Klassenwagen mache, erbt
er das Innit? Methode und die Get-Marken-Methode, so dass ich im Grunde kann, ist es im Grunde das gleiche. Aber dann werde ich, wie, definiert eine neue Art von, wie Methode oben,
die, sagen
wir, sagen
wir, Ah so Auto oder Basis oder besser gesagt, dieses Tocar, also würde ich eine tocar-Methode. Und ich werde sagen, wann? Wann? Wenn ich das anrufe
, , wird
es den Abschleppwagen ausdrucken, richtig? Das war's also. Es ist ein sehr,
sehr einfacher klassischer Truck. Also, jetzt werde ich meine, ich werde eine Instanz davon definieren. Es ist mein Truck und ich werde Truck als Klasse passieren. Aber beachten Sie, dass ich die Marke weitergeben muss, weil es im Grunde genommen erforderlich ist ,
wenn ich
die LKW-Klasse als Unterklassedefiniert habe , die LKW-Klasse als Unterklasse ,
wenn ich
die LKW-Klasse als Unterklassedefiniert habe. Sagen wir mal, das ist ein Vier-Laster, richtig? So sehen Sie, dass es keine Luft oder irgendetwas gegeben hat. Es ist gut, wenn ich in meinen Truck,
ähm, ähm, die Marke bekommen, werden
Sie sehen, dass, obwohl ich die Methode hier nicht gefunden
habe, ich sie immer noch zur Verfügung habe, und es steht Ford C. Aber mein LKW hat eine ganz spezifische Sache, die es nur nicht tun kann. Der CART kann das nicht tun, was ein Abschleppwagen ist. Wenn ich also rede, hier, es ist ein gestohlenes Auto. Was glaubst du, wenn ich versuche, ein Auto mit meinem Toyota zu schleppen, welches mein Auto ist? Irgendwelche Vermutungen? Nun, im Grunde kommen
wir da rein, weil es sagt, dass das Autoobjekt kein Attribut hat. Tocar und es sagt, Attribut. Es ist im Grunde wie eine Methode, aber diese Methode ist es nicht verfügbar. Das ist also, was mit dieser ursprünglichen Klasse passiert. Es ändert sich überhaupt nicht durch diese neue, äh, neue Methode, die Truck definiert.
20. Module: Okay, also, ähm, jetzt werden wir sehen, wie man diese Art von Operationen macht,
ohne
das Python-Terminal zu verwenden also,
ähm,
jetzt werden wir sehen, wie man diese Art von Operationen macht,
ohne
das Python-Terminal zu verwenden. Ähm, und im Grunde werden
wir anfangen, ein paar Dateien zu erstellen. Um das zu tun, werde
ich ein neues Verzeichnis erstellen. Ähm, also sind wir hier in Arbeitsräumen. Eso Wir machen ein Verzeichnis namens Modultests,
und, und, wie Sie sehen können, dort hat es Modelltests erstellt. Ähm, und es gibt jetzt keine Akten im Hintern. Also, was wir tun werden, ist,
dass wir
darin erschaffen werden. Also kontrolliere ich einfach, klicke oder klicke auf. Und wir erstellen hier eine neue Datei, und es wird ein kaltes Auto sein, nicht B Y. und es wird ein kaltes Auto sein,
nicht B Y.
Normalerweise benennen Sie die Dateien als die Klasse, die sie enthalten,
aber es ist wieder. Normalerweise benennen Sie die Dateien als die Klasse, die sie enthalten, Es ist keine harte Rolle. Es ist nicht erforderlich. Gekauft? Ähm, das machen
wir hier. Also jetzt erinnere dich daran, wie gut wir angreifen,
bevor wirein
Glas Auto machten bevor wir . Ähm und dann werden wir in ihr Selbstmarke sagen, und dann machen wir Ah, Selbstmarke ist Marke gleich Marke,
egal, was auch immer Sie dort vorbeigehen. Ähm, und sie wollten eine andere Methode namens „get brand“ machen. Ich meine, es würde drucken. Ah, Selbstmarke. Ähm, jetzt speichern wir es. Aber wenn diese kleine graue kleine Kugel gibt, bedeutet
das, dass wir unsichere Änderungen in der Datei haben. Stellen Sie also sicher, dass Sie immer das kleine X anstelle des kleinen großen Balls sehen . Ich weiß nicht, ob es dir aufgefallen ist. Als ich den Safe drückte ,
ging
es schnell von ,
ging
es schnell von
gelb zu grün. , Gelb bedeutet,dass es so ist, als würde die Bitte ausgehen. Und dann grün machen bedeutet, dass der Server, die Cloud neun Server. Eigentlich konnte
ich die Datei jetzt speichern, um damit mit dieser Klasse zu interagieren. Und bevor du etwas tust, ähm, sind
wir nicht auf diesem Verzeichnismodell 10. Stellen Sie sicher, dass Sie reingehen und sehen, warum, Ähm, ein bisschen später. Also ein anderer war mit dem gleichen Modultest. Ich rufe den Dolmetscher an. Das Terminal und wir werden jetzt mit dem Kurs arbeiten können. Also das erstere dafür ist, dass Sie normalerweise aus dem Dateinamen ohne das P y von
Auto-Importauto setzen . Also erzähle ich Python aus der Auto-P-y-Datei, die Auto-Klasse importiert, damit ich Sachen
damit machen kann . Wie Sie hier sehen können, tauchte hier ein neues Verzeichnis namens Pie Cash auf der Partitur, auf der Partitur, durch Bargeld auf die Partitur, die Punktzahl, und darin werden Sie sehen, dass er einige hat, wie seltsame Datei mit Das endet in P Y C. Und es ist im Grunde das ist die kompilierte Version von dieser Karpfendatei. Ey off all dies, und es erlaubt Python im Grunde, diese Dateien schneller auszuführen. Deshalb sind vom Chinesischen sehr gute Sprache in Bezug auf die Geschwindigkeit, weil es diese kompilierten Versionen Ihres Foul verwenden wird, anstatt die Datei jedes Mal
von Grund auf neu ausführen zu müssen . Also, wenn ich jetzt etwas von Carpi ausführe, warum wird es zuerst aussehen, ob es eine aktuelle Kompilierungsversion davon hat, und dann wird es stattdessen wenig getan. Und wenn er das Foul geöffnet hat, wirst
du sehen, dass es alles Geber ist. Es ist also alles wie Maschinencode, also etwas zu suchen. außerdem sicher, Stellen Sieaußerdem sicher,dass, wenn Sie nur ignorieren, die Punktzahl Torte Cash auf die Partitur in
den Partiturverzeichnissen zu unterstreichen , da es keinen Nutzen für Sie gibt, dies in Ihrem Repository zu platzieren. Also, jetzt sollte ich mir die Fahrzeugklasse A im Gedächtnis
zur Verfügung haben. Also werde ich dasselbe tun, was ich vorher gesagt habe. Ich mache eine Instanz aus der Fahrzeugklasse mit der Marke Toyota. Ähm, und jetzt, wenn ich mein Auto, bekommen Marke und Sie werden hier bemerken, dass ich komplett mit anderen, komplett mit Wasserhahn. Also sag das. Wenn ein Präsident die Spitze hier, es weiß bereits, welche Methoden es zur Verfügung hat. Das ist also ziemlich musikalisch. Also, wenn du das tust, komme
ich nach Europa. Denk daran, wie ich dir gesagt habe, dass du in dieses Verzeichnis gehst. Also lasst uns verlassen. Sie können den oder geben Sie exit so steuern, und gehen Sie zurück zum vorherigen Ordner Verzeichnis Arbeitsbereich und lassen Sie uns von drei stoppen. Richtig? Und ich werde dasselbe aus dem Auto Importauto machen. Ich bekomme einen Fehler. Es steht kein Modul Name Auto. Also diese Autodatei, die Toby nicht in der Lage ist,
auf das Verzeichnis von diesem Verzeichnis geladen zu werden, bedeutet also, was passiert hier? Also, im Grunde,
wenn, wo Sie Python ausführen, es viel ausmacht. Es ist sehr wichtig. Und Sie werden keinen Modulnamen sehen. Blocken Sie eine Menge in Ihrer Karriere ist nur, wissen
Sie,
versuchen Sie, etwas gesunden Menschenverstand zu tun und fragen Sie sich, woher ich Python laufen? Sind die Verzeichnisse, die ich brauche? Ähm, für die, ähm, mir
zur Verfügung stehen. Also die Art und Weise, wie Sie diesen Fehler beheben, ist im Grunde, Sie müssen überprüfen, dass Sie eine sehr magische andere Magie haben, Äh, Sache hier. Aber es ist aber dieses Mal es Also ist es eine Datei, und es wird darin b y genannt, genau wie sie in der Klasse. Jetzt müssen wir innerhalb von Modelltests eine Bilddatei erstellen. Aber bevor ich das mache, lass mich das löschen. Und eine Sache,
die Sie in Ihrer Arbeit immer
tun wollen , ,ist gut organisiert zu sein. Also, wenn ich die per Cash-Datei lösche und ich werde erstellen, werde
ich den Toe-Modul-Test sehen. Und ich möchte einen Regisseur namens Fahrzeuge erstellen, denn wenn ich es tun möchte, möchte ich
alle,
ähm,
die mit Fahrzeugen zu tun haben, in diesen Ordner setzen alle, ähm, . Also werde ich Auto B bewegen. Warum? Innerhalb von Fahrzeugen? OK, also jetzt Fahrzeuge hat das und für alle, immer noch ableto Fahrzeuge A Modul nennen. Ok. Ich möchte eine Datei namens B y erstellen. So neue Datei. Ich werde nur in ihm punkten, dass Ah, und es werde ich nur zu punkten p
y.Also ist es auf diesem gehen, um in ihm auf diesem Going to dot Menschen mit dieser Datei zu punkten, müssen
Sie nichts in sie setzen, obwohl Sie kann. Technisch
gesehen gesehen werde ich ja dazu sagen. Nein, nicht. Behalten Sie es nicht. Das ist der alte Teppich. Warum? Okay, lass es mich öffnen. Hier. Hier können
Sie auch Code setzen. Und wann immer Sie von diesem Modul importieren, wird
das Gericht laufen. Aber diesmal wir das nicht tun. Okay, jetzt beachte, dass ich, ähm, die Fahrzeuge, die ihre halten, wenn ich sehe, was in Fahrzeugen ist, habe ich für alle Leute auf dem Teppich Frau. Und ich werde Spaß von den Top-Ordner-Modul-Tests laufen. Okay, jetzt wirst du bemerken, wie sich der Vorarbeiter ein wenig ändern wird. Ich werde sagen, von Fahrzeugen Dot Auto Import Auto. Also, was sagt Python? Da ist das aus dem Fahrzeugmodul Und was definiert das als Modul? Weil es einen NDP hat. Warum in diesem Ordner feuern? So behandelt es es für Fahrzeuge so fast, als wäre es eine P Y-Datei selbst. Siehst du was? So interessant ist das. Und dann importieren Sie die Autodatei. Ah, ähm, in das Fahrzeugmodul, und dann importieren Sie Auto die Fahrzeugklasse. Jetzt kann ich das Gleiche tun. Mein Auto entspricht dem Auto Toyota, und dann wird mein Auto Marke. Siehst du, alles funktioniert gut. Also laufe ich mit dem Daumen von hier aus Modultests. Was importiere ich aus Fahrzeugen? Carpi? Warum die Fahrzeugklasse? Okay, das ist etwas, das es wirklich wichtig für dich ist,
umzu ,
um managen und etwas zu meistern, das sogar, du weißt schon, wir sind
es. Und Erfahrung Entwickler, dieses Modell nicht gefunden. Die Sache ist, du wirst es haben. Und du musst nur einen Moment lang
anhalten und an dich denken. Wo gehst du hin? Ausführen von Python von diesen wird als Pfad bezeichnet. So kannst du es. Sie können auch die feinen Pfade mögen, die durchsucht werden können. So sozusagen. Wir werden das durch einen anderen Kurs sehen, aber denken Sie daran, dass in ihm b y Datei auf Ihrem Modul zu haben, so können Sie Dinge damit machen. Okay, eine letzte Sache, die wir hier sehen werden. Ah, dieser Vortrag ist Lassen Sie uns sagen, dass ich tun will, indem ich drei gefunden und dann importieren Sie das Dual, das ich mag Run ist richtig. Das erledigt alles für mich. Wie soll ich das machen? Also werden wir eine neue Datei auf der Ebene der Modelltests erstellen, und es wird kalt. Wir werden es falsche Leute nennen. Ich bin okay. Und was ist los? P i b wir werden tun Sie werden in der Lage sein, im Grunde zu tun, was wir gesagt haben, oder wir haben auf dem Python Interpreter, aber problematisch Also werden wir das gleiche tun, was wir vor von Fahrzeugen
Auto Import Auto gemacht . Ähm, und jetzt werden wir das tun,
ähm, sagen wir, mein Auto entspricht dem Auto Toyota, und dann machen wir mein Auto. Nein, mein Auto. Hol Brent. Das ist etwas wirklich Interessantes. Sie sehen, wie Cloud Nine's Editor ist Ist Art der Laden der Modelle oder der Methoden? Ähm, es wird mir
sogar , sagen, was ? Welche Parameter muss ich übergeben und all das? Das ist also ziemlich nützlich. Es ist irgendwie so, als würde ich mir schon Hinweise geben, welche Methoden verfügbar sind. Das ist also das. Wir werden das retten. Und jetzt,
anstatt das Python-Terminal zu laden, machen
wir einfach Python drei Run B Y. Und da gehst du. Du kriegst Toyota. Das ist es, was alles lief. All diese Befehle und es gedruckt, um Yoga.
21. Parameter: Okay, das Letzte, was ich hier mit unserem Kampf abdecken will. Aber Python-Einführung ist Funktionsargumente oder in diesem Fall Klassenmethode-Argumente. Und Sie werden das viel sehen, wenn Sie täglich arbeiten. Es gibt also zwei Arten von funktionalen Argumenten, um oder Funktionsargumenten eher. Und es sind entweder Schlüsselwörter, Ähm Typen oder Positionszeiten. Und was das bedeutet, ist, dass, wenn Sie ,
ah, Methode wie get brand in diesem Fall haben, wir keine Argumente haben, waren nein, wir erfordern keine Argumente übergeben werden. jedoch Es kannjedocheine Instanz geben, in der Sie eine
andere Funktion haben möchten . Und es ist ein großartiges, das als offene Tür für unsere Fahrzeugklasse bezeichnet wird. Und in diesem Fall werde
ich sagen, Ah, Türnummer ist ein Parameter oder ah, ein Argument dafür für diese Methode. Das bedeutet also, dass Sie in diesem Fall eine offene Türfunktion übergeben müssen, die
Zehe dieser Klasse oder besser gesagt diese Autoinstanz, und definieren, welche Türnummer Sie öffnen möchten. Nehmen wir an, es ist eins für den Fahrer und zwei für die Seite der Fahrerseite und dann drei und vier für die beiden im hinteren Teil des Autos. Und, weißt
du, ich nehme an, dass es ein viertüriges Auto ist. Also in diesem Fall werde
ich nur sagen,
ähm, ähm, lassen Sie uns eine Druckaussage machen und sagen, Tür öffnen und dann, ähm wird einfach auf die Türnummer stecken und lassen Sie uns das machen wir drei Str, weil es ah ist, Es ist eine Nummer. Und so sollten wir in der Lage sein, diese beiden Saiten zu inkarnieren, oder? Also haben wir diesen eso hier gerettet. Was ich definiere, ist, dass die Türnummer tatsächlich ein Positionsargument ist, weil es die 1. 1 ist. Okay, und wir werden sehen. Wir werden ein besseres Beispiel sehen, wenn ich ein anderes mache, aber lasst uns einige damit spielen. Ich werde nur das Terminal leiten und, ähm, sagen
wir vom Auto von Fahrzeugen, dem Auto Importauto Oh, ich glaube, ich bin nicht im richtigen Verzeichnis, also gehen wir zu Modelltests und versuchen es noch einmal. Also gehen wir hin. Also, jetzt haben wir Sie wissen, das ist ein mein Auto, Fahrzeuge und ein Auto, und ich glaube, jetzt müssen wir einen Wunderkerze darin passieren. Die Marke, richtig? Es ist also ein Toyota. Also, wenn ich mein Auto mache,
um Marke zu bekommen , ähm, werden
wir das bekommen, aber bemerken. Also werde ich versuchen, eine Tür zu öffnen, richtig. Sagen wir mal, was passiert ist? Die Fahrertür. Also sage ich, Tür
öffnen. Und wenn ich nichts bekomme, komme
ich da rein, weil es sagt, dass es eine Positionsargument-Türnummer erfordert. Aber das bedeutet, dass es weiß, dass die Funktion erfordert, dass der erste den
Positionsmoniker hier macht . Das erste Argument muss eine Art Off-Wert sein, den die Funktion benötigt. Also werde ich das noch mal versuchen. Ich sage mein,
äh, mein Auto, mein Auto, Öffnen Sie die Tür eins. Also, jetzt bekomme ich die Tür eins zu öffnen. Wenn ich auch vorbei
bin, bekomme ich öffnende Türen, damit Sie sehen können, dass dieser Lebensfähige hier zugewiesen wurde. Wenn, wenn ich diese Funktion aufrufe und dann es hier ausdruckt, und es ist irgendwie für diese Funktion von diesem Punkt an verfügbar. Okay, jetzt zerstören wir einen anderen. Eine andere Methode, die wir hinzufügen werden, was sein wird, ähm, wir haben eine ah Funktion oder eine Methode für diese Klasse, die es mir erlaubt,
dieblinkenden Lichter ein- oder auszuschalten ,
die , . Okay, also sagen wir taub, äh, blinker Kontrolle. Und was wir hier passieren werden, bleibt übrig. Ah, Blinker und rechter Blinker. Also muss ich sagen, dass es entweder an oder ausgeschaltet ist. Okay? Und hier möchte ich,
wie,
den Status von den Blinkern in der Art von wie in der Klasse selbst halten wie, . Also werde ich sagen, selbst linker Blinker gleich links blinker Selbst rechts. Blinker gleich rechter Blinker. Und ich werde nur sagen,
um zu drucken, äh, ich will sagen, links. Und dann der Status von diesem Linker und dann rechts, str so Recht zu blinken, Okay. Und, ähm, schließen Sie das. Also, was ich tun werde, ist, dass ich mit einem „Wenn“ überprüfen werde, damit ich ein- und ausschalten kann. Also, wenn links blinker, äh eigentlich, nein, das wird nicht funktionieren. Und ich werde Ihnen sagen, warum in einer Sekunde, also müssen wir beide Funktionen übergeben. Okay, also nochmal, ich mache hier den Python, und ich werde importieren und eine Instanz aus dem Auto entfernen. Also, jetzt werde ich mein Auto Dot Blinker kontrollieren. Aber ich muss links Linker gleich übergeben,
sagen wir, eigener und rechter Blinker gleich aus. Jetzt heißt es also, dass der linke Blinker selbst im rechten Blinker eingeschaltet ist, aber du weißt, wenn du das Auto fährst, aber du weißt,
wenn du das Auto fährst,ziehst
du nicht wirklich oder passierst beide Dinge. Sie haben entweder eine passiert oder Sie übergeben die andere. Ich habe entweder eine kleine Art Hebel, oder? Wenn Sie die Hebelspitze in die
aufrechte Position setzen ,drehen
Sie sich nach rechts. , Und dann, wenn wir es in Position setzen und es ist es, du gehst nach links, also würde ich die Funktion nicht irgendwie so verhalten. Aber das Problem ist, dass ich beides passieren muss. Was passiert, wenn ich einfach passe? Der rechte Flügel oder der linke Blinker? Nur ich bekomme noch einen. Es besagt, dass ein erforderliches Positionsargument fehlt, Rechter Blinker. Also sehen Sie hier ist, als ob ich sagen muss, dass ich die ah,
die 2. 1 passieren muss und das ist irgendwie ärgerlich. Richtig? Was machen wir da? Also haben wir die Möglichkeit, hier etwas zu tun, das ist, dass wir das konvertieren, anstatt
ein Ähm, ein Positionsargument
zu sein,
das wirtun zu sein, das wir werden. Die Art, wie Sie das tun, ist, dass Sie hier eine gleiche Unterschrift setzen können, okay? Und dann können Sie Pre ah, laden Sie den Wert von diesen Argumenten. Und, ähm, und von diesem Punkt an ist
es ah, es wird ein optionales oder oder im Grunde können Sie es entweder weitergeben oder ausschalten. Aber, ähm, fangen
wir einfach mit dem richtigen Blinker an. So sehen Sie das, wie das funktioniert. Also werde ich sagen, der Standardwert von Rechtsblinker wird ausgeschaltet sein. Okay, wenn du das nicht bestanden hast, ist es in Ordnung. Es wird sein, Frau wird sagen, Alles klar, Flügel war Sackgasse. Das ist also in Ordnung. Ich werde nur Preed ausgefallenen Zeh aus sein. Sehen Sie das also in Aktion? Also machen wir das, äh,
wichtig, und dann werde ich sagen, mein Auto ist Auto Toyota und jetzt werde ich einfach
die 1. 1 passieren , die uns nie zuvor gab. Mal sehen, was passiert. Sehen Sie, jetzt kann ich nur die 1. 1 passieren, die linke Blinker und alle, und ich musste nicht passieren. Also, das ist von diesem Punkt, es ist Es wird ein,
ähm,
ein Schlüsselwortargument genannt ähm, , weil das Schlüsselwort richtig blinker ist, und es weiß bereits, dass dies an die Funktion übergeben werden könnte oder nicht. Eine goldene Regel, die Sie wissen müssen, ist, dass Sie immer die Positions- oder erforderlichen Parameter nach links übergeben, und dann sind sie einmal optional. Ähm, oder Schlüssel waren Argumente für die,
ähm, also das richtige oh sind im Grunde hinter sich. Listen Sie also immer die auf, die zuerst erforderlich sind, und dann die, die optional sind. Oder haben Sie einen vordefinierten Wert für die Zehe, die hintere Seite. Also jetzt kann ich wirklich tun, was ich am Anfang tun wollte, was Waas im Grunde diese Art von auf einer totalen Basis haben. Also, wenn ich beide durch den Fehler ausgeschaltet sind, kann
ich sagen, ob der linke Blinker gleich eingeschaltet ist, dann setzen Sie den selbstbeleuchteten Linker auf ein und setzen Sie dann den rechten Blinker auf und
dasselbe . Ähm, wenn der rechte Linker, dann ist das wie sonst. Wenn sonst der rechte Blinker eingeschaltet ist, dann willst du im Grunde den rechten Blinker Zeh diesen Wert setzen und den linken Linker ausschalten, wenn er
bereits eingeschaltet war und das herausnehmen. Also, jetzt wird die Funktion sein, wenn ich die 1. 1 uns an übergeben habe, dann wird der rechte Blinker ausgeschaltet werden. Und wenn ich den rechten Blinker weitergegeben habe, dann sind die linken Denker aus. Mal sehen, ob das funktioniert. Um betäubt zu laufen, hat sie das Auto gegessen. Perfekt. Also werde ich mein Auto machen. Ah, Blinker Kontrolle. Und dann werde ich plus linken Blinker gleich auf. Also was? Was hier passiert, ist, das weiterzugeben. Auch wenn
der rechte Blinkerwert eingeschaltet sein kann,wird
er ausgeschaltet. rechte Blinkerwert eingeschaltet sein kann, Also mal sehen, dass Worte. Okay, perfekt. Also, jetzt habe ich die Linke verweilt und die rechte ist aus. Was passiert, wenn ich stattdessen der Vergangenheit den richtigen Blinker kauft? Ich werde rechts abbiegen, rechts. Jetzt sehen sie das Leben. Der linke wurde abgebrochen, und der rechte war aufgetaucht. Also weiß ich,
dass , ich
schnell erwähnen möchte,dass Sie, wenn Sie können, auch diese Parameter übergeben oder keine geben können. Und was das bedeutet, ist, dass es vielleicht nicht einmal übergeben wird, und sie werden mit einem Nicht-Wert initialisiert werden. Das ist also die Art, die du magst. Keine Parameter, die Sie übergeben oder nicht übergeben möchten. Es spielt keine Rolle. Und du kannst, ähm und du kannst
überprüfen, ob sie traurig sind oder was auch immer sie sein können. Sie können das letzte Ding übergeben werden. Und noch einmal, dies ist nicht für Sie, das daran zu erinnern. Wie, wenn dies ein erforderliches ist, legen Sie es
immer am Anfang, und dann diejenigen, die nicht bis zum Ende benötigt werden. Das war's also. Ich denke, wir sind bereit, mit dem Bau unserer Fleiss-Anwendung zu beginnen und, wissen
Sie ein bisschen damit zu
spielen und haben, ähm, wissen
Sie, ein paar lustige,
mehr Funktionen zu
machen unsere Fahrzeugklasse. Und weißt du,
wenn du irgendwelche Fragen hast,
lass es mich wissen Und weißt du, wenn du irgendwelche Fragen hast, lass es mich wissen
22. Neues Arbeitsbereich Virtualenv: perfekt. Also beginnen wir unsere Flasche,
ähm, Abenteuer hier, und wir werden beginnen, indem wir einen neuen Arbeitsbereich erstellen und, ähm, im Grunde unsere erste Flasche App starten. Erstellen Sie also einen neuen Arbeitsbereich. Sie müssen einen Projektnamen definieren. Uh, und wir nennen das das, äh hallo? Nach oben. Ähm, du kannst Trump-Beschreibung dort ausstellen. Äh
, das braucht man nicht. Sie können dies auch privat oder öffentlich für zahlende Kunden
machen, die Sie tun können. Ähm, ich denke, mehr als eine. Wenn Sie wie ein kostenloser Kunde sind, können
Sie nur das einzige private Berber-Konto. Und Sie können auch von einem vorhandenen get,
ähm,
Repository klonen ähm, , aber für uns werden
wir von Grund auf neu beginnen. Ähm, also gibt es auch diese Vorlagen hier. Sie können, wissen Sie, Brauch. Dies ist Theo Bone, um im Grunde Logo. Ein benutzerdefiniertes Öffnen für die Installation. Du kannst tun, was sie vielleicht fünf haben. Keine Js. All diese Dinge würden hier einfach Brauch benutzen und dann Kriegsraum schaffen. Also jetzt ist es im Grunde, einen neuen Server für uns zu schaffen. Ähm, und, ähm, es dauert eine Weile, während es diesen Container erstellt
, den ich, wie ich bereits erwähnt habe, Docker-Container verwendet. Also, hier geht's. Wir haben hier unseren Container. Eine Sache, die ich Ihnen direkt von der Schlägermaus sagen werde. Hallo hier oben, es ist etwas, das ich wahrscheinlich See Cloud 9 kontaktieren werde, um zu sehen, ob sie
das ändern können . Es ist ein wenig irreführend, weil es scheint, als wären Sie in einem Hello Up Ordner. Aber wenn Sie PWD sehen, sind
Sie tatsächlich zu Hause ein Segen, um Platz zu arbeiten. Also, ähm, das bezieht sich im Grunde darauf, den Arbeitsbereichsordner zu verlassen und nicht das, um das Hallo oben Es gibt keinen Hello Up Ordner dort. Das ist etwas, das mich ein bisschen abgestolpert hat und es ist gestolpert. Auch einige, ähm, einige meiner Studenten gibt es auch,
wie, wie, navigieren und Befehle hier, aber ich halte es immer auf dem Arbeitsbereich dort. Also, äh, lassen Sie uns einen echten Ordner für unser ah erstes Projekt erstellen. Also werden wir die Luft machen, und wir werden sie Fläschchen nennen. Ähm, Unterstrich darin. Immer verwendet, Unterstriche für Ordner auf können Sie auch Stashes verwenden. Das Foul-System wird dich lassen. Aber wenn du Python-Arbeit machst, wirst
du halbe Module aufsteigen, die ,
ähm, dass du es im Zentrum importieren musst. Es ist sehr auf die Partitur zu verwenden. Also, in einem im Grunde eine goldene Regel, die Sie von jetzt haben wollen, ist, dass immer Ordnernamen mit auf diesem Kurs und nicht Bindestriche. Deshalb habe ich empfohlen, dass Sie hier einen Hauch reinlegen. Sie erinnern sich also daran, dass dies kein Ordner ist. Also, aber hallo up oder, wissen
Sie, was auch immer die Worte temporär durch Bindestriche, bis Sie sich erinnern. Okay, jetzt sind wir in der Flasche. Wir gehen in die Flasche, oder? Ordner? Und so sind im Grunde unsere Home-Ordner dort. Und das erste, was wir tun werden, ist ,
ähm ,
wir werden im Grunde etwas schaffen, das eine virtuelle Umgebung genannt wird. Was ist eine virtuelle Umgebung? Virtuelle Umgebung ist, um a Es trennt jedes Projekt, wo Sie haben, können Sie mehrere Projekte haben. Wurden einfach eine Flasche drin haben können. Projekt, das Sie ein anderes haben können, wie das Flats-Blockproblem, das wir danach machen werden. Wird es eine andere Mappe sein? Und dann wird jeder Ordner seine eigenen Bibliotheken haben,
ähm, ähm Version von Python, und du wirst in der Lage sein, all das auf demselben Server auszuführen. Das ist also eine ziemlich große Sache. Es ist eine tolle Sache. Und es ermöglicht Ihnen, zu verfolgen, welche Bibliotheken? Sie installieren diesen Ordner mithilfe einer Datei namens A Anforderungsdatei. Aber mach dir keine Sorgen um das alles. Wir werden das durch einen anderen Kurs sehen. Jetzt Sie sicher, dass Sie Ihren Ordner erstellt haben, und jetzt werden wir diese virtuelle Umgebung erstellen. Wie erstellen wir also eine virtuelle Umgebung? Es ist sehr einfach. Sie verwenden virtuell und das ist dieser Befehl, der, ähm das heißt, um es uns erlaubt, diese diese getrennte Umgebung zu erstellen. Und dann wirst du im Grunde einen Ordner hier platzieren, wo diese Dateien, diese Bibliotheken, diese Python-Versionen, in
denen wir leben werden. Aber weil wir Python drei verwenden und auf oder mindestens Cloud neun boom, können
Sie die Version hier überprüfen. Aber wenn du Python machst, ist
das Schicksal. Sie werden sehen, dass es von 2.7 ist. Also wollen wir ein Veto-Umgebung machen, die von drei verwendet. Also dafür tun Sie virtuell und dann übergeben Sie Dash B, die Python-Version ist, und Sie setzen per Telefon drei. Das ist im Grunde das Execution-Kräuter, das wir verwenden werden. Dann wird der Name der Ordner ein Neid sein. Ähm, du kannst jeden Namen reinlegen, den du willst. jedoch einfacher, Es istjedoch einfacher,wenn Sie es immer mit dem gleichen Namen verwenden, weil Sie wissen, dass es
auch für Sie eine zweite Natur sein wird , diese virtuelle Umgebung immer
zu aktivieren, und Sie werden das in ein bisschen. So virtuell em em Bindestrich Faison sein, drei VND. Was also passiert, ist, dass es ein neues virtuelles em em mit Python drei innerhalb der Flasche erstellt. Innit? Ordner. Also, ähm, wenn wir hier sehen, sehen
Sie, dass es einen neuen Ordner namens Virtual Environment hat. Wenn Sie dort suchen, werden
Sie Ben sehen,
was im Grunde einige Befehle ist, die Ruhestand braucht, um einen anderen auszuführen. Sehen Sie sich die Welt von Lib Labour an. Der Virus wird leben und wenn Sie hier klicken, gibt es Python 3.4 und dann wird das Side-Paket ein weiteres wichtiges sein
, weil dort die älteren Pakete oder die Bibliotheken und wenn gestohlen
werden, unter installiert werden. Also, ähm für jetzt, nur wissen, dass wir den V und V p um Ordner da drin haben. Also, was jetzt? Was ist es, was du tust? Sie müssen diese virtuelle Umgebung grundsätzlich aktivieren. Aktivieren bedeutet, dass von nun an der
ganze Anfang für die Installation von Dingen und für die Ausführung Dinge getan werden, als ob es ein CIF Diese Umgebung war Ihr ganzer Server. Also der Weg, um dieses Problem zu tun, müssen Tage auswendig lernen, aber du bist du wirst dich daran erinnern, dass du es immer und immer wieder machst. Sie tun Quelle V E N V. Welches ist der Ordner mit ihm vor der Aktivierung. Okay, ich will, dass du ihn dir ansiehst. Das hier. Siehst du, wie er jetzt eine Klammer am Anfang hat? Ich habe Neid. Das bedeutet, dass die virtuelle Umgebung aktiviert ist. Nicht Und ich wiederhole dies wie rote vordere Bold Buchstaben. Tun Sie nichts mit Ihrem Projekt, es sei denn, diese V Neid Sache ist am
Anfang von der der Foul, um, Struktur oder der Aufforderung, denn sonst werden schlechte Dinge passieren, wenn Sie, Sie wissen, installieren Pakete und das V und es gibt keine Einschaltung. Er wird sie nicht hier auf B und B installieren. Es wird sie seitlich oder serverseitig installieren, und vieles wird passieren. Also denken Sie daran, äh, haben Sie
immer das V und seien Sie da. Also lassen Sie uns, wie funktioniert die Handlung Wie deaktivieren Sie? Nun, sobald du aktiviert bist, tippst du einfach deactivate, und du kommst raus. Siehst du, jetzt gibt es kein Sein und dort sein. Ähm, aber denken Sie daran, dass Sie wissen, dass Sie
Ihren Kaffee hatten, Ihre Wolke neun öffnen. Um mit der Arbeit zu beginnen, gehen
Sie zu Ihrem Verzeichnis flask darin oder was auch immer Ihr Produkt funktioniert und ohne, öffnen Sie
nicht einmal den Editor. Tun Sie nichts als Quelle, als aktiv zu sein und drücken Sie diese Typen. Sie müssen nur wie spielen, geben Sie wie zwei Buchstaben Ihre Spreads Tab, und es wird Bestellung abgeschlossen und stellen Sie sicher, dass Sie das ve haben und am Anfang sein.
23. Pip Flask installieren: Okay, also lasst uns jetzt Kolben installieren. Also blinkt eine im Grunde eine Sammlung von Bibliotheken. Und, ähm,
denken Sie daran, dass wir den Neid da drin haben. Das bedeutet, dass wir gut sind. Ok. Tun Sie dies nicht ohne das. Auch, nur um sicherzustellen, dass Sie auf dem Underwrite sind, die helle Version des iPhone, und dass die virtuelle Umgebung installiert die richtige Version. Nur ein Python Dutch, wenn Sie nicht sehen 34 Sie sehen, wissen
Sie, zwei Punkt etwas und Sie sehen nicht drei Punkt etwas, das Sie wissen, Ihre eigene Umgebung setzen. Es ist nicht definiert, ähm, oder aktiviert. Oder Sie haben das Flag „dash p“ nicht richtig übergeben und er hat keine Python gefunden. Drei. Richten Sie Kräuter dort aus. Hoffentlich ist das nicht der Fall. Sie sollten Python drei 0.4 oder etwas Ähnliches drin haben. Okay, also haben wir das. Wie installiere ich Pakete? Wir benutzen etwas namens Pip. Das ist das Fahrrad per Telefon Paket-Installer, die es uns ermöglicht, einfach nur ,
Sie wissen, tun pip installieren X, und es wird in die gehen, Sie wissen, das Internet. Suchen Sie nach diesem Paket, und wenn es es
dann findet, installiert es lokal und es wird es wieder in diesem ve installieren und Labor Python sein. Drei Seitenpakete. Also werde ich das offen lassen und
sehen, ob wir überprüfen können, wenn Kolben installiert ist. Also, wie ich sagte, Sie zahlen Ping-Stall, und dann müssen wir nur Kolben passieren. Und wenn wir die Eingabetaste drücken , lass mich das hier etwas höher stellen. Ähm, Sie werden alle Pakete sehen, die dort installiert werden. Ja, so können Sie hier sehen. Es gibt jetzt einen Kolben. Ah, Flex-Ordner. Es gibt
auch einen Jean-Job . Da ist ein Markup-Tresor drauf. Wenn Sie durch die Gelder lesen, die gestohlen wurden, das gleiche, was Sie sehen, dass, ähm, es gab eine Kolben voreqe Soja-Ingwer zu seinem gefährlichen Markup sicher. sind also alte Bibliotheken, die geblitzt haben, damit eine zwei ordnungsgemäß funktionieren. Aberwissen
Sie, wissen
Sie, Sie sollten etwas sehen, das eine erfolgreich installierte Flasche ist und all diese anderen Dateien, wenn Sie irgendwelche Fehler haben ,
versuchen
Sie zu überprüfen, ob Ihnen etwas fehlt. Wenn du es falsch eingegeben hast. Ah, etcetera. Du solltest es dir gut gehen. Ähm, und das bedeutet, dass jetzt Kolben verfügbar sind. Ähm, das war's
also. Wir werden jetzt im nächsten Abschnitt
beginnen, unsere Anwendung oder unsere erste Flats-Anwendung zu bauen, eher Schritt für Schritt und lasst uns ah, lasst uns dorthin gehen.
24. C9 Python Weg: Also wollte ich diese Klärung machen, weil es etwas gibt, das Cloud neun kürzlich in Bezug auf dort draußen
geändert hat. Ähm, Verlinkung auf. Ausleihen ist eine Art von einer Programm-Software, die ständig überprüft, ob Sie irgendeine
Art von haben , wie Fehler oder Fehler auf dem Code, den Sie schreiben. Und sie sind in letzter Zeit so, als würden
sieihre telefonische Unterstützung für
Dinge wie,
ähm,
vielleicht ich undbesser,
bessere Art wie Verknüpfung und Unterstützung verbessern sie Dinge wie, ähm, vielleicht ich und besser, . Und eine Sache, die einführte, dass es nicht ist, ähm, hilft
nicht. Äh, irgendwie wie unsere Die Art, wie wir den Code geschrieben haben, ist, dass Sie jetzt mögen müssen,
ähm,
speziell, , äh, äh, sagen Sie ihnen oder sagen Sie dem Redakteur den Pfad, wo Ihre virtuelle -Umgebungsbibliotheken funktionieren, und ich werde Ihnen ein Beispiel zeigen. Und so haben Sie eine Vorstellung davon, wovon ich rede. Also habe ich diesen , Testimport, ähm, Arbeitsbereich, und ich werde hier eine neue Datei machen, und ,
ähm, also werde ich Eigentlich lassen Sie mich es mir retten. Dann erstellen wir die Datei von hier, und Sie Datei und ich nenne gehen. Papa. Hallo? p y. Also habe ich ein visuelles in für Eddie, die haben, dass Kolben importiert hat, ich meine, darin
installiert. Und wie Sie hier sehen können, wenn ich zu Seitenpaketen gehe, werden
Sie sehen, dass ich es habe. Ich habe Kolben da drin, richtig? Aber es gibt jetzt ein kleines Problem,
wenn ich vorgehe und meinen Code mache und daran denke, dass du
eine
virtuelle Umgebung mögen musst. es gibt jetzt ein kleines Problem, wenn ich vorgehe und meinen Code mache und daran denke, dass du
eine
virtuelle Umgebung mögen musst eine es gibt jetzt ein kleines Problem,
wenn ich vorgehe und meinen Code mache und daran denke, dass du
eine
virtuelle Umgebung mögen musst. Aktivieren Sie hier. Aber das ist noch davor. Ähm, wenn Sie von einem Flachmann Importkolben tun. Richtig. Und Sie versuchen, , weiter in Ihrer Codebasis zu arbeiten. , Du wirst sehen,dass du irgendwann ein bisschen wie rot wirst. Uh, unterschreiben Sie hier, wie bedeutet, dass die Gerichtsredakteure nicht Kolben finden. , um Manchmal dauert es ein wenig, umzu erscheinen,
aber, ähm, ähm, es ist, wenn ich ein weiteres C öffnen kann. Lesen Sie mich hier. Ich sehe Harris This hier an und sehe. Ich bekomme das,
wie, nicht in der Lage, Kolben zu importieren. Und lassen Sie uns das für einen Moment vergessen. Was hier passiert ist, ist, dass es, um der Editor nicht in der Lage ist, ist nicht das, wo das was die Flask-Bibliotheken zu finden, und es schaut gerade auf den aktuellen Pfad,
äh, äh, wo der Python-Pfad, den sie haben vorinstalliert, das ist derjenige auf dem, äh, auf dem Hauptserver. Was wir also tun müssen, damit das verschwindet und Sie werden den richtigen Zugriff für andere Dinge sehen , die Importe aus Ihren virtuellen Umgebungspaketen sind. Ich sprach mit Toe Cloud neun und sie waren
eigentlich sehr hilfreich. Und versuchen Sie, äh, irgendwie mit mir dieses Problem zu arbeiten, aber was Sie tun müssen, um die roten Xs verschwinden zu lassen, ist, dass Sie es dem Editor explizit sagen, wo die Seite Pakete Ihrem virtuellen Umgebung sind, und die Art und Weise, wie Sie das tun, ist die folgende Sie gehen, um die Wieder Neid gehen lib. Also öffne dein Leben hier und gehe dann zu Bison 34 rechts, und geh dann zu Sai Paketen und sie klicken mit der rechten Maustaste dorthin und benutze etwas, das hier offen
steht. Wenn Sie sehen, dass, ähm, es wird Sie bis zur Zehe, den Zehe, diesen Pfad und dann nur dopey wt, was ist, Sie wissen, Person arbeitet Verzeichnis auf Sie bekommen dies dies dies dies Pfad, ist
dies der Pfad von Anfang an. Ich meine, vom Root vom Server bis zu Ihren Nebenpaketen aus Ihrer virtuellen Umgebung. Stellen Sie also sicher, dass Sie
ihren Befehl kopieren , sehen oder steuern. Sehen? Und dann gehst du zu den Zahnrädern hier und wo es steht, ähm Hinweise, und ich meine Sprachunterstützung. Siehst du, da ist jetzt ein Bisonpfad drin und du siehst, dass dort zwei Patsy sind. Das sind die vom Server. Stellen Sie sicher, dass Sie zum Ende der Zeile gehen, setzen Sie einen Semikolon und fügen Sie dann den Pfad von Ihnen ein. Kopieren Sie es. Also sehen Sie, hier ist es das Sack-Paket, ein Gewürz auf 34 der Neid leben, etc cetera. Und wie Sie hier sehen können, hat
es das gleiche. Meine Kolumne wäre vorher da,
die, die schon da war. Also drücken Sie die Eingabetaste. Du musst nichts tun,
sagen wir, sagen wir, für irgendetwas. Es speichert automatisch, dass und dann schließen und schließen Sie diese als auch, und Sie sehen, dass dies in einer Minute verschwinden wird. Ähm, denn jetzt findet man, dass der Pfad für Kolben war, also kannst du hier weiter arbeiten. Ähm, und es verschwindet irgendwann. Sehen? Das ist also die Sache. Es ist ein bisschen
Ärger, Ärger, denn vorher, zumindest von als ich damit arbeite, hatten
sie dieses Problem nicht. Aber jetzt musst du das tun. Sie müssen Ihren Python-Pfad festlegen. Und in der, ähm, in dieser Bibliothek, ähm, dieser Seiten-Paketpfad auf, wenn Sie einen,
irgendeinen kleinen rechten Zugriff mit irgendeinem der Pakete sehen , die versuchen zu importieren, irgendwie schauen Sie sich an wo sie gespeichert sind und wenn Sie diese Art von Geschmack hier nicht haben, aber es ist irgendwo anders im Gewürz und 34 um,
irgendwie wie Verzeichnisse installiert . Gehen Sie einfach vor und setzen Sie einen anderen Semikolon und an den Pfad, wo der enthaltende Pfad oder Ordner, in dem diese Bibliotheken. Das ist also das Update. Hoffentlich wird
das alle Probleme lösen. Und wenn Sie irgendwelche Probleme haben, denken Sie mir
einfach
25. Minimale App: Okay, also fangen wir mit unserem Flachmann an. Ähm, Reise hierher. Ähm, Sie sollten den Handle-App-Workspace dort haben. Ähm, wir werden es öffnen. Ähm, perfekt. Also, jetzt haben wir unsere virtuelle Umgebung, äh, in der Flasche. Innit? Ordner? Also erinnerst du dich, Hallo? Strich nach oben. Es ist kein Ordner. Es ist nur der Name vom, ähm vom Server ihres Arbeitsbereichs und eine Flasche darin ist der eigentliche Ordner, den wir
erstellt haben . Und dann ist die virtuelle Umgebung die virtuelle Umgebung. Bevor wir also irgendetwas tun,
denken Sie daran, was wir hier tun müssen, bevor Sie mit dem Programmieren beginnen oder irgendeine Art von Operation durchführen . Das ist richtig. Wir müssen unsere virtuelle Umgebung aktivieren. So tun Sie Wunden Vande aktiviert. Und denk dran, du musst da auf dem Kolben sein. Innit? Ordner. Also, wenn du zufällig bist, ist es ah, Kontrolle. Sehen Sie, dass ,
ähm, es ist ein Ihr in Ihrem Arbeitsbereich hier oder zu Hause. Sie sehen die Arbeitsbereichsflasche darin, und dann in ihren Sie die Quelle tun. Ähm, tut mir leid. Wunden. Ähm, Van ist aktiv. Okay,
jetzt, wo wir RV haben und da sein, bedeutet
das, dass wir gut sind zu gehen, es ist klar, den Bildschirm und die Stipe beginnen, unsere erste
Flats-Anwendung zu tippen . Okay, also lassen Sie uns die Datei erstellen, in der wir die Anwendung starten werden. Lassen Sie mich das schließen. Lesen Sie mich, weil wir das nicht brauchen. Und je spät die Akte, ähm, der Sprung. Großartig. Und ich werde kurz das Dis-Terminal verschwinden, indem ich Kontrollflucht mache. Also lasst uns deine Akte hier
verraten, und sie heißt Hallo,
P, P, vergewissern Sie sich, dass sie auf dem Kolben ist? Ordner, und es ist auf der gleichen Ebene wie sie ve MB. Nun, lassen Sie uns doppelklicken, um es zu öffnen. Und das erste, was wir tun werden, ist,
ähm, wir werden aus der Kolben-Importkolben tippen, während Sie sich daran erinnern, aus der Modulstunde , die wir gerade im vorherigen Abschnitt gesehen haben. Dies sagt nur aus dem Kolbendatei-Importkolben. Wenn hier kein Kolbenregisseur ist,
wie findet er das dann? Wenn hier kein Kolbenregisseur ist, Nun, die Sache ist, dass wir einen Punkt der V-Neid-Aktivierung gesehen haben,
äh, äh, Python-Augen sagten, nach Dateien in dieser Seite zu suchen Pakete eine Reihe von anderen Verzeichnissen. Also diese Flasche, ähm, Datei oder Ordner? Das ist,
äh , Referenz. Es gibt tatsächlich diesen Kolben hier. So ist es möglich, es zu finden. Aber lassen Sie uns von Kolben Importkolben fortfahren. Ähm, normalerweise gibt es das erste, was Sie in der Flash-Anwendung tun müssen, ist,
eine Instanz von Flask-Klasse zu definieren , indem Sie diese Line-Up gleich flask und dann eine magische gemeinte Methode namens Name auf diesem Going to score Namen auf diesem Wenn Sie diesen Namen oder die Abteilung oder das hier übergeben werden, können Sie nur sicherstellen, dass Sie auf einer eindeutigen
Anwendung,
ähm,
Name,
um für die Flask-Instanz haben Anwendung, ähm, Name, . Und auf dieser Art von Partiturname enthält nur eine Zeichenfolge, die, je nachdem, wo Sie diese Datei aufrufen entweder Unterstrich Hauptunterstrich unterstrichen
wird, wenn sie
vom Terminal aufgerufen wird, oder es wird wird hallo aufgerufen, wenn es vom Python-Terminal aufgerufen wird. Also im Grunde nur die Seite, die normalerweise das ist, was Sie tun ,
um sicherzustellen, dass Sie eine eindeutige Instanz von dieser Flasche App haben. Die nächste Sache ist,
wir definieren eine Route und um sie herum im Grunde,
die dein l, das du schlagen wirst,
und dann legen wir es einfach hier rein. Die nächste Sache ist, wir definieren eine Route und um sie herum im Grunde, die dein l, das du schlagen wirst, Also sehen Sie, ähm, dieses wenig lustig am Zeichen des Anfangs,
diese ähm,
dieses wenig lustig am Zeichen des Anfangs,
diese
Methode von der App-Instanz wird als Dekorator bezeichnet,
und ein Dekorator bedeutet normalerweise, die nächste Zeile oder die Methode von der App-Instanz wird als Dekorator bezeichnet, nächste Sache, die nach diesem passiert, um, mit einer Art von Verhalten und was wir dekorieren, ist diese Funktion namens Hallo Welt. Okay, jetzt dir
keine Sorgen. Wenn es viele neue Dinge gibt, die hier passiert, werden
Sie den Dreh davon bekommen, während wir weiterhin damit spielen. Aber wir sind im Grunde, sie finden eine Funktion in dieser Datei namens Hello World, und wir werden zurückkehren. Ähm, hallo, Welt. Ich glaube nicht, dass wir Rückkehr gesehen haben, aber Rückkehr sagt im Grunde eine Funktion, wenn sie abgeschlossen ist. , Oder wenn er zu diesem Punkt kommt,wirf
einfach das, was auch immer lebensfähig ist oder String oder, ähm, äh,
Ausdruck, den du nach der Rückkehr zu wem es nannte. Und wir werden in einer Sekunde sehen, wie das funktioniert. Also, jetzt werden wir sagen, ob Name, das ist die gleiche magische Sache, die wir hier haben. Die magische Methode. Wenn name gleich main ist, dann bedeutet das, dass aus dem vom Terminal von der von der Befehlszeile und nicht von
der Python aufgerufen wurden. Ähm, Terminal. Ähm, dann werden wir eine App machen, die läuft, und wir werden im Grunde verlassen, dass ich sage, dass es darum geht, sie zu drucken. Also, was läuft Es ist im Grunde einen Server zu erstellen. Das ist die ganze Zeit warten, bis jemand eine On-Adresse von dieser Anwendung trifft. Und, ähm, und einfach, wie, durch diese Routen zu jeder Funktion
geleitet, die es in Bezug auf den Ordner übereinstimmt . jedoch jedoch Da wir
jedochmit Cloud 9 arbeiten, gibt es ein paar Dinge, die wir hier hinzufügen müssen. Eins ist,
ähm, bevor ich den Import dort mache, musst
du einen Host verfeinern. Also werden wir das tun, indem wir sagen, Host gleich, ähm os, die Umwelt lebensfähig machen. Ich p Komma 0000 Und das sagt im Grunde der Host dafür,
für diese Anwendung wird entweder das i p sein, das von Cloud neun genau wie eine voreingestellte Umgebung lebensfähig ist. Das enthält die Server I P. Und wir müssen auch einen Port definieren, wo das laufen wird. Und in diesem Fall werden
wir, ähm, die Zehe in Jer, äh,
umgebungsfähigen kalten Hafen oder nach 5000
umwandeln äh, müssen. Ok. Und dann schließen wir das, okay? Und jetzt haben wir das als Host gleich Host übergeben, Komma Port, gleich Sport. Okay, du siehst
also, wie ich es kriege, um das hier Fehler? Ähm, im Grunde muss
ich immer zur Verfügung haben, also werde ich den Import abschleppen. Oh, wie und es sollte uns gut gehen. Oh, diese Luft hier sagt über den guten, lebensfähigen Namen. Ja, ich vermisse noch eine Punktzahl, also sehen Sie, wie Wolke neun Zentren? Es sagt mir die ganze Zeit, als ob ich Fehler habe, das ist sehr, sehr nützlich für die Erben. Bist du Stadt? Sehr ausdrucksstark. Also, ähm, das ist eine hübsche Brickell-Sache. Also lassen Sie uns diese,
ähm,
Kontrolle s oder Befehl s speichern ähm, , wenn Sie auf dem Mac sind und wir sollten gut dort sein. Also, was passiert schon wieder? Ähm, wir importieren die Kolbenklasse und Erweiterung, die eine App oder Anwendung mit dem
Unterstrich fressen . Name des Unterstrichs. Dann sagen wir, wenn jemand den Schrägstrich trifft, wie
die Top-Domain ist, dann diese Funktion ausgeführt hat und die Funktion hallo
Welt genannt wird und sie kehrt zu string zurück. Hallo, Welt zurück zu der Person, die den Euro getroffen. Und dann ist das wie die Hauptart eines Läufers Teil des Skripts, das heißt, wenn Name Maine ist, was bedeutet, dass es vom Terminal ausgeführt wird. Dann werden wir einen Host definieren, der der Cloud Neun-Host und der Cloud Neun-Port ist
, der Ah ist, der ich p lebensfähig, wenn er eingestellt ist. Und wenn nicht, ist
es 0,0 Punkt 0,0. Wir sind nur ein I P. Das ist, ah, wissen
Sie, im Grunde Sprengstoff, die Anwendung auf die Welt und dann Port Ist die ganze Zahl von der Port m Umgebung lebensfähig oder 5000? Welches sind die Flaschen? Standardwert. Wenn Sie dies auf einer Art wie einem Lennox-Computer oder Windows oder Mac lokal ausgeführt
haben, brauchen Sie diese beiden Dinge und Flash nicht, sondern im Grunde laufen durch den Fehler auf der 5004. Aber das ist, ähm, das ist alles, was Sie für unsere erste Bewerbung haben müssen. Also mal sehen, wie es läuft. Also flieht die Kontrolle wieder, was? Also können wir das Terminal heraufbringen und daran denken
, dass der Neid da sein muss. Es ist aktiviert, und du musst auf dem Kolben sein, nicht wahr? Verzeichnis, und Sie müssen Ihr Hallo haben warum sie Ihr B m v.
Äh sind , also im Grunde, wir werden Python machen. Hallo p. Warum OK und drücken Sie Enter Perfect. So heißt es jetzt, dass es auf HDP-Nullpunkten Europa läuft, sobald Sie an Bord 08 80 sind, was im Grunde so ist, als ob es für jeden läuft, der den Port 80 80
trifft, die die Entwicklungsumgebung der Cloud neun ist. Aber es ist nicht wirklich, ähm, wissen
Sie, es ist nicht wirklich der, äh
, der Hafen auf der Außenseite, es ist hell, wirklich auf dem Port 80, der ist der normal, wissen
Sie
, wie Ihre URL für zusätzliche P-Dienste. Also, wie sehen wir das so, es gibt nicht, wie mag ich irgendwie, schauen Sie sich die laufende Anwendung an. Da ist das. Previ und Laufböden funktionieren nicht mit denen. Vorschau ermöglicht es Ihnen, eine Vorschau einer Datei,
angehängte E-Mail oder statischen Inhalt zu mögen und führen führt die Datei aus, aber leider verwendet es die Python 2.7. Das ist nicht unsere virtuelle Umgebung, und es gibt eine Möglichkeit, es auszuführen, mit der Art von wie Sie ändern können, was Python Kräuter ausführen und Sie könnten potenziell definieren, trotz unentschuldbar hier und Entlüftung. Aber ich habe noch keine Zeit gefunden, das zu tun. Vielleicht ein Student, der ein wenig mehr Zeit hat, kann ah, finden Sie das heraus und setzen Sie ein Beispiel dort in den Formularen. Aber für jetzt, die Art und Weise, wie wir sehen, wo es läuft, wo Sie gehen, um die Freigabe hier oben und Sie sehen, dass Sie auf der Eingabe Anwendung
und Vorschau-Editor haben , ist, Ihren Code zu teilen. Ähm, und Anwendung ist die eigentliche waren alles, was wir uns ansehen wollen, Welches ist das diese Zeichenfolge? Also ist es im Grunde, dass du Arbeit bist. Ähm, dein ah, deine Projekte Name dash, dein Benutzername dot c 9 dot io. Wenn ich also dort klicke und auf Öffnen klicke, erhältst
du einen weiteren Tipp. Und da gehst du. Wir haben Ah, hallo Welt, was Ah ist, im Grunde unsere erste Flachsverpflichtung läuft. Herzlichen Glückwunsch.
26. Beginnen mit Git: okay, Es gibt unsere schöne Flats Anwendung läuft. Und wie Sie wissen, ähm, , ich bin eine große, äh, ich empfehle, , wirklich stark,dass Sie lernen und,
ah, ah, verwenden Sie Get als Ihre Versionskontrolle. Wenn Sie noch nicht von bekommen gehört haben oder Sie nicht wissen, über eine Menge zu bekommen, ähm, es gibt definitiv natürlich, ich möchte Ihnen empfehlen, was der sind Eigentümer wesentlicher get Kurs, auch hier in Ihnen ist, Timmy und im Grunde wesentliche get Kurs lehrt Sie wie die Grundlagen, ohne in, wie, Sie wissen, weil Skip Gates sind sehr kompliziertes Werkzeug, das Sie eine Menge von Dingen mit hier tun können. In diesem Kurs werde
ich Ihnen im Grunde die wichtigsten Dinge beibringen, die Sie als Entwickler haben müssen, um täglich
zu arbeiten, wie es einige andere,
spezialisiertere Dinge gibt, die Sie möglicherweise tun können. Und Sie können lernen, nachdem Sie den Kurs gemacht haben. Aber ein Vorgeschmack für Grundlagen Zeug und Ihre täglichen Operationen für vergessen bekommen,
im Grunde empfehlen, dass Sie dies tun oder, Sie wissen, wenn Sie wollen. Sie können auch auf andere bekommen Kurse in una me oder im Internet schauen, aber ich ging so aus. Sie sind schnell, wie wir das hier machen würden. Also, wenn ich mit dem Projekt begonnen
habe, habe, ich, von Anfang an, ich beginne einfach, mein Get einrichten zu lassen. Also, weißt
du, für die,
die wir das tun , musst
du im Stammordner sein, und du kommst da rein. Das schafft im Grunde ein Get, ähm, ich steige rein. Ah, Mappe. Und, ähm, wir wollen eine Datei ignorieren, damit wir
zum Beispiel keinePython,
kompilierte Verzeichnisse oder Dinge haben zum Beispiel keinePython, Python, , , die wir normalerweise tun. Also habe ich eine, ähm eine Startergettinit-Datei, die wir verwenden können, was folgendes ist. Also ein neues Top hier zu sein und gehen Sie einfach zu einem Gast. Doug, Sie haben, dass kommen Schrägstrich aus der Serie D Sie und Sie werden eine get Ignorieren Fouling dort sehen. Dies ist die immer noch so sollten Sie mit diesem beginnen. Ähm, Sie können roh hier platzieren und dann einfach kopieren und einfügen. Und so werden wir auf der beherrschten Ebene auf der gleichen Ebene erschaffen. Ähm, neuer Aktenpunkt wird ignoriert. Nein, ich habe diese Datei gemacht und dies eingefügt, was ein guter Ausgangspunkt für Mittel ist, die wir normalerweise nicht in ein Repository einchecken
müssen. Perfekt. Also, jetzt werde ich den Status bekommen, um zu sehen, was? - Was? Was neu ist, muss dazu bringen, ihn zu ignorieren. Hallo, P. Warum ich bei diesen Akten da drin bin, und ich werde das mit dem ersten Kommen begehen. Und jetzt kann ich das im Grunde schieben, um wieder Hub zu bekommen. Wenn Sie nichts davon wissen, ist
das in Ordnung. Und Sie können den Kurs ohne ihn fortsetzen. Ich empfehle
jedoch dringend , dass Sie sich selbst loslegen würden. Und, ähm , wissen
Sie, lassen Sie mich wissen, wenn Sie Fragen haben, wie Sie den Kurs mit einem Rabatt bekommen, ähm, aber definitiv empfehlen
erhalten Sie einen Spion aus Ihrem professionellen Entwickler-Tool-Set .
27. Debugging: Okay, also haben wir unsere Anwendung hier. Mit der Hallo Welt kann Askew sehen, dass alles ziemlich gleich aussieht. Wenn ich hier sehe, sehe
ich Hallo, Welt. Das ist perfekt. Also werde ich Steuerflucht machen und die Anwendung wieder laufen lassen. Ähm, und da ist die andere Welt. Eine Sache, die Sie sich selbst viel tun werden, ist Code zu bearbeiten und dann das von diesem zu
überprüfen. Ah, wenn diese Veränderung gut aussieht und nichts bricht, also sagen wir, wir wollen die Welt der Zehenveränderung auf Hallo, alle. Ähm, ich habe die Datei gespeichert und dann geh und lade die Seite hier neu, aber ich sehe immer noch Hallo Welt. Also, was ist los? Nun, was passiert, ist, wenn diese Seite bereits ist, äh, sagen
wir, diese Anwendung wird bereits ausgeführt. Ähm, das, ah, diese Codebasis wird nicht aktualisiert, weil ich dir gesagt habe, dass die Anwendung eingelöst wird, was bedeutet, dass es irgendwie wie in einem statischen Modus ist, und es ruft nur die neueste Version der Codebasis ab. Aber es ist nicht wirklich, ähm, reflektiert die Veränderungen dort drin. Das ist also der Schmerz, denn das bedeutet, dass ich Kontrolle mögen muss. Sehen Sie hier und setzen Sie dann Python Hallo, p y wieder. Und jetzt, wenn ich die Seite neu lade, dann sehe ich meine Änderung. Aber das will ich nicht jedes Mal machen. Richtig? Also nochmal, lassen Sie uns sparen, wenn ich das durch Hallo Welt ändere, speichern Sie es und dann wissen wir, dass die Seite Nichts ist da. Also eine Möglichkeit, dass wir umhergehen können Das ist, ähm, indem wir ein anderes Flag und dieses Flag übergeben, es heißt Debug. Die Art und Weise, wie wir das tun, ist, indem
wir folgendes tun , müssen wir nur ein Wir referenzierten die App hinzufügen, die App-Instanz. Was ist das passiert, da hier. Und, äh, lassen Sie mich das klar machen und dann setzen Sie den Fehler gleich wahr. Jetzt möchten Sie dies nicht in einer Produktionsumgebung tun, da App-Debug tatsächlich niedriger
ist. Und Sie werden auch wir schwächen. Wir werden es später sehen. Es werden die Fehler auf der Seite angezeigt. Ähm, ich sage, wie sie vorkommen, und wir wollen das nicht tun, wie unsere öffentliche Anwendung. Wir wollen nur, wie, zeigen Ah, ein generisches, wissen
Sie, 500 Fehler oder Anwendung dort mit einigen wie Sie wissen, nettes Bild statt wie, spucken, Sie wissen, die per Telefon Fehler, Lager Tabletts. Mal sehen, wie das funktioniert. Also habe ich aktive Artikel gemacht. Wahr. Lassen Sie mich
den Server nochmal ansprechen,
und ich werde das noch mal laufen lassen. Server nochmal ansprechen, Python hatte Opie. Warum? Also, wenn ich hier erfrische, heißt
es hallo Welt. Aber beachten Sie hier unten, wie ich dies geändert habe Hallo, alle. Und dann speichern, wie Sie sehen können, es sagt Detektiv Änderung in diesem Verzeichnis neu laden, Neustart damit, so dass ich nicht zu stoppen und den Server neu starten muss. Die Änderungen werden nur durch Drücken der refree Load im Browser widergespiegelt. Das ist also eine große Hilfe. Und das,
ähm, das hilft Ihnen auch, weiter an Ihrer Kernbasis zu arbeiten, ohne mögen zu müssen, Kontrolle zu übernehmen. Sehen Sie? Und dann haben wir wieder angefangen. Eine andere coole Sache, die wir hier tun können,
ist , wenn Sie Abdi-Teilchen wahr haben. Nun, lassen Sie mich Ihnen vorhin ohne die Abdi-Teilchenstruktur zeigen, lassen Sie mich diese,
ähm,
jede Kontrolle speichern ähm, , sehen Sie, nur für den Fall. Und was werde ich hier ohne die aktiven Illegalen machen? Wahr. Ich werde mir da drinnen vorstellen. Also eine Sache, die ich tun werde, ist, sagen
wir, ich werde gleich drei setzen, und dann werde ich, ähm, Sie besucht. Ich muss Dollargerichte setzen, weil ich ein Sie haben etwas besucht, das ich
setzen werde , ähm, ich mal. Nun, wenn Sie sich erinnern, ähm, aus dem, ähm, lebensfähigen Strings Abschnitt, können
wir nicht ein Plus I hier setzen, weil dies eine ganze Zahl ist und das ist eine Zeichenfolge, also sollte Fehler zurückgeben. Also, was passiert, wenn du es nicht musst? Barnicle stimmt, und ich werde die Seite neu laden. Ich bekomme einen internen Serverfehler
, der so ist, wie es auf normaler Größe aussehen würde und das wird bevorzugt, anstatt die öffentlichen Benutzer zu
zeigen, was passiert ist, wie ein mehr, ähm, Wie, schönere Kommunikation Zehe. Der Benutzer, der sagt, dass etwas passiert ist und, wissen
Sie, es gab etwas Unerwartetes. Aber wenn wir uns entwickeln, wollen
wir wahrscheinlich sehen, was schief gelaufen ist. Also, ähm, nochmal, wir werden die Seemänner hier wahr machen, und wir werden die Anwendung wieder ausführen und sehen, was passiert. Also sehen Sie, dies ist eine viel andere Fehlermeldung. Jetzt sagt es uns tatsächlich, wo die Luft ist, und das nennt man den Stack Trace. Wie ich bereits erwähnt, es sagt im Grunde, wissen
Sie, von der ganz in der Gemeinde oder inneren Frieden, Was passiert ist, gehen in der Regel einfach zurück und irgendwie wie Flucht, bis Sie bekommen, wie die tatsächliche Anwendung. Obwohl, nachdem du das eine Weile gemacht hast, das, einige dieser Dinge könnten es Sinn machen, aber hier ist die Luft, an der wir wirklich interessiert sind. Es sagt, Typ air kann int Objekt implizit in String konvertieren. Das bedeutet, dass ich eine Konvertierung dieser I-Toe String setzen muss, bevor ich sie zu
diesen beiden Strings hinzufügen kann . Das hilft also sehr. Und das ist etwas,
das ,
das wir definitiv nutzen können, während wir uns entwickeln, aber nicht für die tatsächlichen wie öffentliche Nutzer. Also der Weg, um das zu beheben, wie Sie wollen nein, ist ich rühren, rühren Sie mich um, dass speichern, und wir haben automatisch begonnen. Und dann, wenn wir neu laden, sehen
wir, dass Sie dreimal besucht haben, also funktioniert das perfekt. Ein weiterer cooler Trick, den ich euch zeigen möchte, ist , etwas
,das vom Sunday Bugger genannt wird. Und, ähm, ich will hier einfach etwas tun, E I gleich, ich schließe eins. Und, ähm, nur ein paar zusätzliche Codezeilen zu setzen, entspricht mir und dann hier besucht. Also bin ich einfach so, beginne das mit gleich drei. Und dann bin ich gleich ich plus eins, das wäre vier. Und dann mag ich nur ein Schild besucht Zehe I Das ist alles ein bisschen weg, wie Unsinn, aber ich möchte dir nur etwas zeigen, das Dirty Bugger genannt wird. Also in Cloud neun, wenn Sie einfach PDB eingeben und Sie sehen, dass Snippet dort drin, drücken
Sie einfach die Eingabetaste. Und das ist etwas, das sie eine Menge schräg benutzen
werden, irgendwie versuchen, irgendwie versuchen,für Bugs nach Hause zu suchen. Was? Was dies tut, ist es Schritte O. R stoppt die Ausführung des Skripts an diesem Punkt. Und danach kannst
du irgendwie vorwärts
gehen, , Schritt für Schritt
vorwärts, vorwärts, Schritt für Schritt und sehen, was los ist. Normalerweise verwenden Sie dies, wenn Sie einen Fehler haben und die Zeilennummer sehen. Sie legen diese Aussage vielleicht fünf Zeilen vor, oder so etwas, so dass Sie sehen können, was passiert Schritt für Schritt auf der Anwendung, während die Säure läuft. Als ich das gerettet habe, es das bereits aufgezeichnet. Die Veränderung. Also, wenn ich jetzt, wenn ich hier lade, wirst
du etwas sehen,
was die Seiten nicht laden. Es steht, weißt
du, es ist irgendwie wie in,
ah,
im ah, Warten auf eine Runde zu warten, um zu lösen. Und wenn du hier
siehst, wirst du sehen, dass wir jetzt etwas Seltsames hier haben, das heißt, um größer als Homo gehört. Hallo, S. . neun
. Das bedeutet, dass es bei Zeile a Line 9 auf der Hello World-Funktion gestoppt hat und Sie sehen, es gibt einen kleinen Pfeil, der ein Cursor ist, und das ist, wo die Ausführung der nächste Befehl passieren wird. Es steht also, dass ich gleich Straße bin. Wenn ich also hier interagieren kann,
sehen Sie, dass Sie hier drin Sachen machen können, damit Sie wirklich mögen können Ah,wissen
Sie, wissen
Sie, drucken ich auf Das wird nichts zurückgeben wollen, denn was passiert ist, ist, dass ich an Punkt wurde noch nicht definiert. Aber wie Sie sehen können, kann
ich mit dem Programm interagieren, da es an diesem Punkt wie in der Zeit eingefroren war, um zur nächsten Zeile zu gelangen, die Sie unterdrückt haben und was passiert ist, ist, dass es sagt, wissen
Sie. Hallo, P Y Linie 10. Hallo Welt. Das bedeutet also, dass ich gleich drei wurde bereits ausgeführt und das wird ausgeführt werden. Wenn ich jetzt ausdrucke, wirst du sehen, dass ich drei bekomme. Das bedeutet also, dass diese Zeile hier ausgeführt wurde und, ähm, wissen
Sie, sie hat drei Zehe das I zugewiesen. Also jetzt klicke ich weiter. Es sagt, besucht ical Entweder bedeutet, dass ich, wessen ich plus eins wir überprüfen können, ob ich in der Tat für es ist, dass gut aussieht. Dann drücke ich als Nächstes. Jetzt kann ich sehen, was besucht Wert ist, weil er bereits vier zugewiesen wurde. Also, ja, Sie können sehen, dass Sie mögen können, Schritt für Schritt. Schauen Sie sich an, was mit der Anwendung passiert. Und so können Sie wirklich alle Bugs jagen. Wenn ich gern will,
wenn ich die Luft gesehen habe oder fertig bin,
komprimierst du. Wenn ich gern will, wenn ich die Luft gesehen habe oder fertig bin, Sehen Sie, was bedeutet, fortfahren, und dann werden Sie
sehen,dass
das sehen, Programm fortgesetzt wird, obwohl es aussieht, als würde es wieder ausgeführt. Also werde ich hier sehen. Und da gehst du. Es beendete die Ausführung, und wenn ich hier sehe, hat es die richtige Seite geladen. , Es ist seltsam,dass es zwei Mal hingerichtet hat. Ich schätze, weil ich Nachladen hasse. Vielleicht, aber normalerweise, dass,
wenn Ausdruck , wenn Sie drücken, entweder es geht weiter und führt das einmal aus. Also, ähm, denken Sie daran, Baby, es ist ein wirklich nützliches, wirklich nützliches Werkzeug, den Kampf gegen den Bugger, um Bereiche zu lokalisieren, die Sie haben könnten .
28. Routing mit Vars: Okay, nehmen
wir diese Linie raus. Ähm, eigentlich, lasst uns einfach die ganze Sache ausdenken und wir werden wieder eine
Hallo Welt hier setzen, um sie fragen zu lassen. Wir haben angefangen. Also, jetzt werden wir ein wenig mehr von einem Routing machen und überprüfen, wie verschiedene
Routen für verschiedene Dinge zu tun . Also sagen wir, jetzt, anstatt dies die Indexseite gefragt zu haben, werde
ich verwenden müssen, um die Hallo Route zu sein. Also, was das bedeutet, ist, dass, ähm,
überprüfen, ob das neu geladen wird, es neu geladen wird. Okay, Ähm, was das bedeutet, ist jetzt, dass statt auf der Route weg, was das ist, , im Grunde diese Route hier jetzt die Hallo Welten sind dein eigenes Hallo oder Schrägstrich hochgegangen. Hallo zur Presse. Geben Sie dort ein. Ich werde Hallo Welt dort sehen. Und dann haben wir das etwas größer gemacht. Was hier passiert ist, ist, dass ich gerade die Route geändert habe. Dies wird als Route bezeichnet, die der Zugriffspunkt für diese Funktion ist. Ähm, und ich kann, wissen
Sie, hier noch einen
hinzufügen, damit er auf die Homepage reagiert, denn jetzt, wenn ich auf die Homepage gehe, steht
es, weißt
du, es ist eine 44 nicht gefunden, da hier in diesem Skript keine Route vorhanden ist, die auf den Index
reagiert. Also werde ich hier eine weitere Route erstellen, AP Raut, und ich werde diesen Index nennen, und jetzt werde ich hierher zurückkehren. Index-Seite. Okay, das ist das, Ähm, schauen wir uns die Seite an. , Lassen Sie uns sehen,dass die Kontrolle entkommen, die wir geladen haben. Also, wenn ich auf die Homepage gehe, Ich sehe und erwarte Jahr und lassen Sie uns überprüfen es Fellows zu Es funktioniert. Ja, es funktioniert perfekt. Eine andere coole Sache, die wir hier tun können, ist, dass wir Virale übergeben können. Das Schlepptau dieser Routen und die Rebellen werden an die Funktion weitergegeben. Mal sehen, wie das funktionieren würde. Nehmen wir an, zum Beispiel, dass wir, ah, Profilseite von den Nutzern wie, wissen
Sie, Twitter tut, und wir werden diese Route nennen, ähm Schrägstrich Benutzer und dann Schrägstrich Lassen Sie uns sagen, dass ich Likes ,
zum Beispiel, Benutzer um Jorge, das ist mein Benutzername in dieser Anwendung. Aber ich will Jorge nicht schrägen und dann
Jack und alle möglichen Routen,
richtig? schrägen und dann Jack und alle möglichen Routen, Wir wollen nur eine Route haben, die für jeden bestimmten
Benutzer die passende Profilseite bedient . Also dafür verwenden
wir diesen Begriff von Viralen, und wir setzen hier einfach Schrägstrich um größer als oder niedriger als Benutzername größer als. Und das bedeutet, dass jetzt alles, was, ähm Schrägstrich Benutzer
etwas, eine Zeichenfolge oder eine Zahl, es an die Funktion weitergegeben wird. Aber wie bekommt die Funktion das? Nun, du übergebst es als Parameter dafür. Nehmen wir an, wir nennen dieses Show-Benutzerprofil, und dann verwenden wir ihren Namen hier, und der Benutzer namens Viable wird zugewiesen, was auch immer. Um, Zahl oder Zeichenfolge wurde nach dem Schrägstrich hier übergeben. So und wir können das überprüfen, indem wir zurückkehren. Lasst uns unser Kommen hierher bringen. Es ist eine gute Praxis, immer zu kommentieren, was die Funktionen, die zeigen, dass sie ihr Profil
für Daddy User verwenden . Also werde ich zurückkehren, ähm, Sie, Sir, und dann plus Benutzername. Ähm, wir sollten eigentlich nur für denFall
eine Schnur da reinlegen Fall . Es ist eine Nummer. Obwohl ich denke, dass Wohnungen dies zu einem String-Ereignis machen, auch wenn es ah ist, ist
es eine Zahl, aber ich denke, es ist eine gute Übung, nur für den Fall eine Zeichenfolge zu wickeln. Also lassen Sie uns sehen, ob das dort wieder geladen hat es getan hat. Ähm, jetzt werde ich also, wenn ich wieder auf die Indexseite gehe, funktioniert
es. Gut. Jetzt werde ich es versuchen, Sir Jorge. Und wie Sie sehen können, ist
es Frühling. Es macht das aus dem Euro lebensfähig und gibt es an die Funktion zurück, und es gibt es uns zurück. Also User Hori, wenn ich Sie Sir Jack hierher
setze, dann bekomme ich User Jack. Also lasst uns noch einen lesen. Aber dieses Mal benutzen
wir etwas
Kaltes, ähm, ähm, , Casting,damit wir
im Grunde erwarten können, , welche Art von Viralen wir weitergegeben werden dort. Also werden wir einen weiteren namens Post erstellen, also Schrägstrich Post. Und dann, anstatt nur zu setzen, werde
ich Posten I d
hier setzen , richtig? Und das wird eine Nummer sein. Ich weiß, es werden 123 eine Nummer sein. Anstatt das einfach zu übergeben, kann
ich mich gegen Vordertiere setzen und es wird wissen, dass dieses dieses lebensfähige, das hier
weitergegeben wird, eine Nummer sein wird. Also, jetzt werden wir den Fine-Show-Posten setzen und dann den Posten „I d“ übergeben und jetzt, ähm, werden
wir zurückkehren, um, posten. Und was würde dann passieren, wenn ich beide Saidi hierher bringen würde? Wahrscheinlich würde ich bekommen, dass ich auf Sendung gehen sollte, weil
es ah ist, dass es eine ganze Zahl übergibt, aber lasst es uns überprüfen. Also, jetzt hören wir Post drei. Das ist richtig. So kann ich mich umwandeln und eine Schnur abschleppen. Also das bedeutet, dass, was auch immer wir hier vorbeikommen, es muss eine Zahl und Extrem sein, nur eine Zahl hier. Die Art und Weise, wie wir das beheben können, ist, indem wir die Zeichenfolge auch hier herumsetzen. Also, wenn ich neu lade, bekomme
ich Post drei. Das ist perfekt. Und was würde passieren, wenn ich eine Schnur reinstelle? Sagen wir, Jorge, ich bekomme eine 44 da, denn wieder, Flask erwartet dort eine ganze Zahl und keine Stärke, aber anstatt zu brechen, gibt
es mir eine nette, weißt du, Ich konnte diese Seite nicht finden, anstatt nur kaputt zu machen, also funktioniert das ziemlich gut. Eine Sache, die du
sehr oft benutzen wirst , ,ist das? Wie, ähm, irgendwie wie Putting, Hinzufügen wie eine Zeichenfolge zu einer anderen Zeichenfolge und solchen Dingen, aber es ist nicht so lesbar. , Und du,
wenn du, wie viele, wie, sagen wir, wenn du hier
wie sagen wir, etwas anderes setzen willst und du besuchst, ähm x mal und du müssen dies wieder X setzen, also ist es wird umständlich. Richtig? Also eine Sache, die Sie mit telefonisch dio und existiert in anderen Sprachen als auch vorhanden ist, können Sie wie ein Druck vier Morgen tun. Die Art und Weise, wie Sie das tun, ist, dass Sie im Grunde setzen, wo immer diese Zeichenfolge
erscheinen wird , Sie setzen ein Prozent s für die Zeichenfolge. Ähm, und dann musst du hier nur einen Prozentsatz
aufstellen und dann den Benutzernamen eingeben. Wir müssen die Zeichenfolge nicht dorthin setzen, weil dies das ist, um automatisch
das, was auch immer praktikabel ist, in eine Zeichenfolge zu werfen , weil wir sagen, dass dies eine Stärke sein wird. Ähm, sie sagen das Gleiche. Ähm, lassen Sie mich hier kommen. Zeigen Sie den Beitrag mit dem angegebenen i d,
das I d,
muss eine ganze Zahl sein. Zeigen Sie den Beitrag mit dem angegebenen i d das I d Also das Gleiche hier. Aber anstatt ein Prozent s zu setzen, kann
ich Prozent d tun, was Ziffer ist. Und, ähm und ich kann das jetzt Prozent machen und dann ohne irgendetwas posten. Mal sehen, ob das funktioniert. Ähm, also lassen Sie uns tun, ähm Sie, Sir oder hey, perfekt. Und lassen Sie uns Post 15 und ich verstehe das. Es ist also viel sauberer zu lesen, und Sie können sagen, wie Sie, Sir, Person ist die mal besucht Prozent, richtig? Also und dann, in diesem Fall, müssen
Sie das in Klammern setzen und dann,
ähm,
diesen Vorarbeiter setzen , also wird es dauern, als wäre die erste Saite die Saite und die Digitalis. Das hat es geschafft. Das funktioniert also. Ähm, ziemlich gut da. Ja. Wir wollen nicht, dass er Miss es findet. Das ist also in Ordnung. Ähm, das ist es
also für diesen This Ah, diesen Vortrag. Ich glaube, du hast eine Menge bekommen. Sie können herumspielen, einige benutzerdefinierte Routen
machen und sehen, wo, was Sie dort bekommen. Und ah, wir reden über,
ähm,über ähm, ein paar neue Sachen als Nächstes
29. Url_for: Okay, also schauen wir uns etwas wirklich Nützliches an, das Ural vier genannt wird. Und Euro vier ist eine Funktion, die es dem Kolben erlaubt, sich anzusehen,
ähm, was? Ah, wie der Euro oder wie die Route aussieht für eine bestimmte, äh, Funktion. Also, was? Die Art und Weise, wie wir das überprüfen werden, ist die folgende. Lassen Sie uns sagen, nehmen
wir das hier raus. Und so sehen Sie, wie wir haben up Route Sie dient Nachnamen hier, und er kehrt zum Benutzer zurück, so dass die Funktion Benutzerprofil anzeigen genannt wird. Was also passiert ist, ist flask weiß jetzt, dass die Funktion show Benutzerprofil mit
dieser Route verbunden ist . Und es wird in Fällen geben, in denen man diese Route nicht
hart beschichten
will, will, dieses Mädchen hier benutzt, wenn ich die Funktionen finde, weil du weißt, dass dein anderes
sich oft ändern kann . Und vielleicht hast du das Mädchen an vielen, vielen Orten. Ähm, und dann willst du das ändern, dass du ich bist,
wirst du dich
ändern müssen und dann willst du das ändern,
dass du ich bist,
wirst du dich
ändern müssen,
besonders wie in Vorlagen,
die wir später sehen werden. , besonders wie in Vorlagen, Also die Art und Weise, wie wir, um, die um nicht harten Code schwächen, dass, sondern lassen Sie Flachmann zeigen. Das für uns ist durch, ähm, Dysfunktion genannt Euro für Also, wenn wir hören Rückkehr Euro vier und dann setzen wir Ah, das dauert im Grunde mindestens einen Parameter
, der der Funktionsname ist. Ah, aber du musst es in Anführungszeichen setzen. Also lassen Sie uns sagen, Benutzerprofil anzeigen. Und dann, ähm, das wäre alles. Aber die Sache ist, dass
dies diese spezifische Funktion erfordert. Zeigen Sie so weit erfordert, dass ich den Namen verwenden, damit wir das auch weitergeben können. Also hier würden wir passieren. Das ist ein, ähm, Richard. Okay, jetzt haben wir das gerettet. Ähm, wir müssen Ihr für aus Kolben importieren. Da gehst du. Und so, was passiert, ist jetzt, wenn ich traf die und erwarten Nein. Ist, dass ich nicht setzen Sie Schrägstrich Benutzer Schrägstrich Richard. Ich zeige nur auf Rückgabe Was? Der Euro ist für diese Funktion mit, wenn ich diesen Benutzernamen übergeben, richtig. Also lasst uns hier auf die Index-Seite gehen, und ich bekomme einen Fehler usw. Oh, ich muss hier ein Lebensfähiges setzen. Benutzername ist gleich Yeah, also ist es nicht ein „Dies“. Dies wird eine Position siehe hier genannt, es sagt Nimmt ein Poster, ein Argument, aber zwei wurden eine Position gegeben. Argument bedeutet, dass, ähm, diese 1. 1 derjenige ist, der diese Position einnimmt. Die erste Position ist die Funktion. Aber danach
gibt es alte Argumente, die das haben müssen, was das Lebensfähige dafür ist, um, für diesen Parameter, den die Funktion benötigt. Also müssen wir passieren. Benutzername ist gleich reich. Also lasst uns nochmal nachsehen. Und da geht's, Sie, Sir Richard. Also gibt es im Grunde sagen, der Euro für die Funktion zeigt Benutzerprofil, wenn die Houston in Richer vorbei ist, ist Schrägstrich Benutzer Schrägstrich Richard. Aber was passiert, wenn wir Staaten ändern? Toby hat ihren Namen anstelle von Benutzer verwendet. Stellen Sie sich also vor, wir hatten, dass wir darauf verwiesen, dass, wenn
Sie haben , Sie wissen, der Twitter-Feed hat Halter-Profile und Sie möchten, haben Wenn Sie auf das Foto klicken, Sie nehmen sie zum Profil. Wenn wir den Benutzernamen ändern,
Benutzer, Benutzername hier in diesem Jahr in diesem ländlichen, wir müssten alle Vorlagen, die den Schrägstrich Benutzer haben, um den Benutzernamen zu Schrägstrich ändern . Und das wäre eine
wirklich große, schmerzhafte Sache. Also, wenn wir Ihre alten vier verwendet haben, bedeutet
das, dass wir dies einfach ändern und es wird automatisch aktualisiert. Also, wenn ich hier nachladen drücke, siehst du? Jetzt steht, nimm den Namen Richard. Denken Sie daran, wenn Sie Ihren Ältesten benutzen, beziehen
Sie sich auf einen Euro für alles. Nicht referenzieren, Ural. Verweisen Sie auf die Funktion und nutzen Sie Euro vier. Und das wird Ihnen eine Menge Kopfschmerzen ersparen. Und natürlich sehen
Sie dieses Dienstprogramm im Moment nicht, weil wir nicht viel mit Vorlagen gemacht haben , aber Sie werden eine Menge davon sehen, wenn wir mit dem Kurs fortfahren.
30. Methode erhalten: Okay, also werden wir jetzt anfangen zu schauen,
um Formulare und die Methoden, die wir verwendet haben, um mit Formularen zu interagieren, also bilden ein Formular ist im Grunde etwas, wo Sie sich fühlen? Daten. Ähm, und dann haben Sie die Schaltfläche „Senden“. Ähm, das ist eine sehr grundlegende Funktionalität,
die jedes das ist eine sehr grundlegende Funktionalität,
die jedes
Web-Framework haben muss und Flash ist keine Ausnahme. Also lasst uns, ähm, damit zu spielen ein bisschen. Ähm, also werde ich, sagen
wir, die bekannteste oder gängigste Form ist die Protokollierung für. , , Mal sehen
,ob ich etwas kreieren kann, das mir gefällt, diese Dinge hier
löschen und ein brandneues erstellen kann. Also sagen wir, wir haben, ähm einen Prout, das ist Schrägstrich Logan. Ok. Und hier, ähm, werden
wir in Methoden eindringen. So hat xtalpi mehrere Methoden, um zu interagieren. Zwischen dem Browser,
der Seite über den ehemaligen, den Sie bedienen, und dem Server, der diese Virals bekommt, und
es isteine lange Diskussion. Zwischen dem Browser, der Seite über den ehemaligen, den Sie bedienen, und dem Server, der diese Virals bekommt, und es ist Wir werden nicht in ah kommen, die Löcher erwarten Platz, aber wir werden uns um diejenigen kümmern, die sehr wichtig sind. Und das sind die Get-Methode und die Post-Methode für diese Lektion. Wir werden die get-Methode zunächst sehen. Also gebt mit mir, wenn wir diesen Weg entlang gehen. Also hier sage ich Flash, dass ich eine Protokollierungsseite haben werde, die erwartet,
dass Formulare mit der get-Methode eingereicht werden. Ähm, und ich habe dir erklärt, was das bedeutet. Also hier haben wir die Funktion, die wir nicht passieren werden, ist hier im tatsächlichen Euro, aber wir werden sie übergeben, um die Get-Methode zu bekommen. Ähm, jetzt werde
ich nur ein Formular zurückgeben. Okay, ich werde ein paar HTML hier setzen. Ähm, wir werden in diesem Kurs nicht viel in HTML bekommen, weil er mehr über Back-End ist, und Sie können über
grundlegende HTML-Sachen in lesen wir werden in diesem Kurs nicht viel in HTML bekommen, weil er mehr über Back-End ist,
und Sie können über
grundlegende HTML-Sachen in lesen. Ah, noch einen Kurs, den ich selbst machen könnte. Übernahm all diese Dinge. Also bleib dran. Ähm, stellen Sie sicher, dass Sie, wissen Sie, den
Newsletter von Zero abonnieren. Ich o, ähm, oder folge mir auf Twitter aus Syrien. Das U, um, wissen
Sie, Informationen darüber zu
bekommen, aber ah, also werden wir es tun. Hier sind vier. Methode. Geh mit Action, Logan. Aktion bedeutet also, wo posten wird, wenn ich drücke? Ähm, es und dann kriegen meine Dreißigerjahre uns. Wir haben es vorhin erklärt. Also, jetzt werde ich nur alles in eine Zeile stecken. Ich weiß, es sieht ein bisschen hässlich aus. Wir machen es besser auf ah,
auf ah, auf ah, bevorstehend. Ähm, Lektion über Vorlagen. Also werde ich einen Importtyp aus Text und mit dem Namen Benutzernamen setzen. Das ist also das Lebensfähige, das wir an das „
So the Script“ übergeben werden . Ähm, ich wollte hier etwas tun, also haben wir es in einer Zeile getan. Aber das werde ich nur eine Zeile machen, weil es fast fertig ist. Es wird die API hier enden, um sich zu trennen. Und dann werde ich tun ah, Button Typ gleich einreichen. Und dann werde ich etwas Fleisch hier und Knopf in die Endform legen. Okay, also das ist genau wie ein langer Liner, der uns Benutzernameneingaben anzeigt. Und dann sende ich den Button. , Mal
sehen,wie das aussieht. Lass mich sehen, ob ich nichts kaputt habe, also kontrolliere Flucht, es ist neu gestartet. Also, das ist in Ordnung. Und das ist, um Schrägstrich und loggen Sie sich in Perfect ein. Also, jetzt diese Sie verwenden das Namensfeld. Also tippe ich hier Dinge ein und dann kann ich eine Minute drücken. Was ist nun passiert? Sieh mal, wenn ich weglassen drücke, passiert
nichts. Ähm, wie nichts, was wir können. Wir können sehen, jedoch, bemerken auf das Mädchen. Ich habe jetzt ein Fragezeichen und es sagt, dass der Benutzername gleich DF ist, was die Zeichenfolge ist, die ich im vergangenen Jahr habe. Lassen Sie uns etwas wiedererkennbares, wie Jorge Submit. Wie Sie sehen können, macht
es so etwas. Es löscht das Feld hier und dann steht Fragezeichen Verwendung von Chemikalien. Jorge. Also, das ist, was Methode zu bekommen. Sieht aus wie Meth. Die Get-Methode ist,
dass es alle Divi-Valls
auf das Formular nach einem Fragezeichen stopft und es an Ihren Ältesten mit einem Zeichen schicken wird, das wir dort
definiert haben. und es an Ihren Ältesten mit einem Zeichen schicken wird, das wir dort
definiert haben Also im Grunde, es sendet die Verwendung von Chemikalien. Jorge,
ähm, erzählte dem Drehbuch, indem er es auf den Euro aus dem, ähm, aus dem Formular. Ähm,
also, aber ich weiß nicht, wie kann ich diesen Benutzernamen lesen? Fühle dich dafür da. Wir werden etwas namens „Anfrage“ verwenden. Also müssen wir uns alle vier nehmen, weil wir es nicht mehr verwenden und Anfrage hinzufügen. Also Anfrage ist die Art und Weise, wie Flask all diese Anfragen behandelt. All dies, wie Beiträge von Formularen oder von HTTP-Aktionen. Und was wir tun werden ist,
ähm, wir werden im Grunde die Werte überprüfen, die der Benutzername innerhalb der Anfrage sein wird, als eine, ähm uns auf Ah, Liste. Okay, äh, es tut
uns moralisch nicht leid als Wörterbuch. Also werde ich überprüfen, ob es Werte auf der Anfrage gibt. OK, dann lassen Sie uns den Benutzernamen zurückgeben, der in dieser Anfrage vorhanden ist. Also wollte ich zurückgeben, verwenden Sie ihren Namen ist und dann werde ich Anforderungswerte von der Verwendung ihres
Namen-Index setzen . Also Request-Werte halten im Grunde all diese All diese Eingaben. Ah, Name mit dem Namen ist der Index des Wörterbuchs. Und dann, wenn es keine Werte gibt, dann werden wir das Formular zurückgeben. Das bedeutet, dass die Person einen Idioten beeindruckt hat, also werden wir sehen, ob das funktioniert. , Überprüfen Sie,ob das neu geladen wurde. Und ah, versuchen
wir es nochmal ohne irgendetwas hier, Logan. Okay, also bekomme ich die Form, mit der es versucht, ähm Ah, Sam. Einige trafen sich. Ehrfürchtig. Also ich bekomme Benutzername ist Sam So sehen Sie
die erste, die erste Version dieser Seite, die dieser Slash Rogaine war. Es überprüft, wann es trifft. Das sind dann alle Werte auf der Anfrage. Und die Antwort ist nein, weil wir nichts geschickt haben. Also geht es zurück, dass HDP um oder Bruder html String, die uns macht, Ah, uns ein Formular im Browser. Aber sobald ich hier etwas tippe und ich einen Handschuh drücke, sendet
er das wieder an den Schrägstrich mit dem Fragezeichen ist der Name Jorge. Und dann haben Anforderungswerte einen Wert. So geht es in diesen Block, der zurückgegebene Benutzername ist und fordert Werte von Ihrem Nachnamen. So interagierst du hier mit, ähm, mit diesem Feld. Und wir können dann etwas damit machen. Damit, mit diesem Wert.
31. Postmethode: Okay, eine Sache, , die wir reden wollten,ist, ähm du weißt schon, Sicherheit, richtig? Und eine Sache, die ich Ihnen sagen werde, ist, dass Anfragen nicht sehr sicher sind, weil sie diese Informationen über den Euro selbst
senden. Also im Grunde, sie sind der Benutzer, oder sogar, du weißt schon, einige, ähm, eine Person, die wie Schnüffeln ist. Ah, irgendwie habe ich hier gesprochen wie Hacker und solche Dinge,
aber auch, wie, wissen
Sie, wissen
Sie, Systemadministratoren, die die Protokolle von ihren Servern überprüfen, irgendwie habe ich hier gesprochen wie Hacker und solche Dinge,
aber auch,
wie,wissen
Sie,
Systemadministratoren, die die Protokolle von ihren Servern überprüfen,
in der Lage sein, den Benutzernamen hier zu sehen. Und wenn wirauch
ein Passwort haben, wie auch
ein Passwort haben, Sie, werden sie den Pass gleich sehen. Wissen Sie, Sie sind sehr sicheres Passwort im Klartext. Das ist also nicht sehr gut. Das ist nicht sehr sicher. Also wollen wir das ändern und das zu einer sichereren Ähm, irgendwie wie Einstellung machen. Aber wie gehen Sie dann durch das Protokoll in dieser Verwendung von Chemikalien, Jorge, ohne es dort anzuzeigen. Und da kommt Post ins Spiel. Also, was müssen wir hier ändern? Also das erste, was oder das einzige, was wir in der Form ändern müssen, ist, dass wir Post für Methodengleichheiten
setzen, die statt bekommen sollen. Das ist die erste Änderung. Die zweite Änderung, die wir hier draußen müssen. Die Methoden, um sowohl bekommen als auch posiert zu akzeptieren. Aber warum ist das? Du
denkst, denkst, ist jetzt nicht die Form ethischer Post hier? Warum brauchen wir dorthin? Nun, die Sache ist
so, als ob Sie das erste Mal den Ural,
den Schrägstrich Logan,treffen den Schrägstrich Logan, verwenden
Sie tatsächlich eine Get-Anfrage. Und der Grund dafür ist, dass die grundlegendste Operation, die Sie durch http
machen , oh, holen Sie mir die Anmeldeseite, die mir die Anmeldeseite bringt, eine Get-Anfrage ist. Also jedes Mal, wenn Sie eine Seite schlagen, sagen
wir, Sie gehen zu Twitter. Sie gehen zu Facebook, Sie gehen zu Facebook Schrägstrich Profil. Das sind alle bekommen Anfragen. Aber in dem Moment, in dem Sie dann etwas ausspüren und dann mit der Post-Methode posten, senden
Sie etwas ein, dann wird die Post-Methode verwendet. Also, ähm, eine Möglichkeit, dass wir in der Lage sein werden, um zu überprüfen, abgesehen von der Anfrage, Werte ist, dass wir in der Lage sein werden, ähm, überprüfen Sie den Anforderungstyp auf dem, ähm unterstrichen die Funktion. Anstatt alle Questwerte zu haben, werden
wir dies verwenden,
was mehr, ähm, am häufigsten verwendet wird , wenn
die Anforderungsmethode gleich ist. Ah, Post. Dann geben Sie den Benutzernamen zurück. Und wenn Sie schlagen, wenn Sie es das erste Mal scherzen, wird
es die Anforderungsmethode gleich bekommen. Also wird es dieses Formular zurückgeben. Mal sehen, ob das funktioniert. , um Es ist, umdie Flucht hier zu kontrollieren. Sieht gut aus. Also werden wir das Login treffen. Wir kriegen ihren Namen. Nein, warte. Da gehst du. Und wir werden hier hinlegen. Ähm, sagen
wir, Robert hat die Verwendung einreichen gedrückt. Ihr Name ist Robert. Eine Sache, die Sie hier bemerken werden, ist, dass es kein Fragezeichen Benutzername gleich Robert. Und stattdessen wurde
dies perfekt aus den Anforderungswerten abgerufen. Wie ist das möglich? Wo ist diese Argumentation gleich, Robert hat übergeben, so dass es tatsächlich durch die,
ähm,
post-Parameter gemacht ähm, wird, was ein Header ist. Und das geht ein bisschen in, wissen
Sie, mehr technische Spezifikationen. Ich empfehle Ihnen gerne, wenn Sie Schritt können, uh oh. Sind beiseite einige Zeit, um zu studieren, wie es funktioniert. Es ist ein sehr gutes Lernwerkzeug. Aber eine Sache, die Sie hier in Chrome tun können, ist, dass Sie die Header der Dinge
sehen können . Und die Art, wie Sie das tun, ist ,
ähm, Sie können Entwickler auf dann Entwicklertools anzeigen. Wir können auch,
ähm,
auf den Märkten verwenden ähm, . Ich werde kommentieren, ich komme. Und J, ich benutze normalerweise J, weil es eifersüchtig ist, dass wir Konsole sind. Aber wenn Sie das drücken, werden
Sie sehen, dass so etwas wie unten auftaucht und hier, werden
Sie in der Lage sein, Dinge wie die Post-Anfragen und solche Dinge zu sehen. Lasst uns das nochmal versuchen. Aber dieses Mal werden
wir sehen,dass die Information ist, dass einige es geschafft haben. Aber dieses Mal werden
wir sehen, Also lasst uns hier nachladen, okay? Und dann werden wir
Robert hier setzen und uns dann unterwerfen. Also scheint es wie verschiedene Typen in hier, ähm, Elemente, Dinge im Grunde wie der HTML-Code von der Seite und einige andere Dinge,
mit denen Sie spielen können . , Wir überprüfen hier ein paar davon,
aber eine Sache, die Sie bemerken werden, ist, dass, wenn Sie darauf klicken, also wenn Sie hier eine lange Schlange von Dingen sind, die überserviert werden, wenn Sie auf
diese Seite klicken . Aber wenn Sie drücken, wenn Sie hier auf Logging klicken, was die Login-Anfrage von der Seite ist, werden
Sie sehen, dass Jetzt sehen Sie einen Header stoppen hier und wenn Sie nach unten scrollen, werden
Sie sehen, es gibt, wissen
Sie, Allgemein, das waren Sie wissen, die Anforderungsantwort-Header, die geantwortet haben, wurden von den Seiten-Anforderungs-Headern zurückgeantwortet, was irgendwie näher an dem ist, was wir versuchen zu bekommen, um, und dann schließlich, hier, ganz unten, sehen Sie Formulardaten. Und wenn Sie hier sehen, steht hier der Benutzername Robert. Da ist es. Es ist also Teil eines Es wird der Formulardatenkopf abgerufen. , Das bedeutet,
dass sich keine Person zwischen den Daten ansehen kann, und trotzdem
wird die Anwendung sie lesen können. So Post ist die bevorzugte Methode. Wenn Sie senden, wissen
Sie, Dinge, die das braucht etwas Sicherheit und Sie können verwenden, erhalten Sie zum Beispiel, wenn Sie das Twitter-Benutzerprofil sind Schrägstrich Benutzer. Das ist Jorge. Ähm, das ist mehr als eine gute Sache, um öffentlich zu posten, damit Sie get für diese Anfragen verwenden können
32. Einführung in Templates: Okay, also schauen wir uns Tempt an. Es ist jetzt, wie Sie sich erinnern können, wir haben dieses, wie, hässliche Benutzernamen senden Formular hier, um, und wir wollen, dass, wissen
Sie, einfacher zu aktualisieren. Und Sie haben vielleicht eine andere Art von, wie Front und Entwickler tun die Vorlagen gegen Sie sind, sie bekommen sich auf die Rückseite und Anwendung. So kommen Vorlagen, um zu retten. Und Vorlagen sind Teil einer Software,
ähm, ähm, Methodik namens M V C, die im Grunde Model View-Controller ist. Um, M v Sea trennt, dass ich Operationen von der Präsentationsschicht basiere, die wie die Vorlagen aus der Logik oder den Controllern ist. Also wären die Ansichten in diesem Fall die Vorlagen, und die und die Controller wären die tatsächlichen, Sie wissen, p Y-Dateien wie diese hier. Also haben wir die Modelle hier nicht gesehen, weil wir diese Ich-Basis noch nicht haben, aber ,
ähm, wir werden uns das im nächsten Abschnitt ansehen. Bevor wir etwas tun, löschen
wir das. Ähm, und wir werden bei einem brandneuen Ach notieren, wo es geht. Also werden wir weitermachen und einen Vorlagenordner erstellen. Es muss auf der Root-Ebene sein, und es muss als Templates bezeichnet werden. Ähm, wir können das durch die Einstellungen ändern, aber das werden wir nicht tun. Wir machen einfach die Standardeinstellung, und dann erstellen wir eine neue Datei. Sie heißen „Hallo“. Html und dies fällt im Grunde ext-E-Mail. Aber sie haben ein praktikables Management. Sie sind ein Schwung. Also werden wir das speichern und uns wieder in Ah, sehr einfache XML-Datei. Ich werde nicht so viel
beschreiben, was ich hier mache,
weil es kein Frontend ist, Ähm natürlich,
aber das ist wie,
ah,eine Ähm natürlich aber das ist wie,
ah, ah, sehr grundlegende Struktur aus einem, um einer nächsten E-Mail. Fünf, äh, flach. Also, hier werden
wir, ähm, wir können hier drinnen bedingungslos tun. Also, ähm, aber fangen wir mit etwas Einfaches an. Also lassen Sie uns sagen, nur jeder ein Hallo, Welt. Und, ähm, das ist es im Grunde. Ähm, sagen wir das. Und jetzt, damit wir diese Vorlage rendern, werden
wir eine gerade ting-up Route erstellen, um Hello genannt. Und, ähm und wir werden Hallo definieren,
um eine, äh im Grunde zurückgegebene Vorlage zu sein. Um dies zu tun, verwenden
wir diese Funktion namens Render-Template. Und, ähm, es ist gerendertes Rendern bedeutet, als wäre es nicht gerade der gleiche Inhalt. Aber Python wird tatsächlich einige, sagen
wir, Berechnungen darüber oder Verarbeitung durchführen. Deshalb heißt es Render-Template. Aber auf jeden Fall, ähm, wir werden den Hello HTML dort übergeben. Ah, und das, was das tut, wird, wie, einfach diese Vorlage zurückgeben Ah, sa nächste E-Mail-Datei. Ähm, eine Sache, die wir hier einfügen müssen, ist gerenderte Vorlage, die eine Flask-Funktion ist, die wir innerhalb des Skripts benötigen. Das ist also das. Mal sehen, ob die Anwendung ausgeführt wird. Ja. Ja. Es läuft gut. Also lasst uns Hallo hier machen. Und da gehst du. Das ist also eigentlich das Temperierte, das wir haben. Ah, das müssen wir hier finden. Und
wenn Sie die Seitenquelle sehen,werden Sie sehen,
dass es genau der gleiche Inhalt ist, den wir auf die Londoner Extremophile gesetzt haben. Und , wenn Sie die Seitenquelle sehen,werden Sie sehen, Wir werden es ein bisschen weiter nehmen,
und was wir tun werden, ist, dass wir sehen, wie wir dort lebensfähig sehen können,
und,
ähm,
und irgendwie
modifiziert, Wir werden es ein bisschen weiter nehmen, und was wir tun werden, ist, dass wir sehen, wie wir dort lebensfähig sehen können, und, ähm, und irgendwie
modifiziert, modifiziert, versucht, basierend auf ustream Fuß. Also, wenn Sie eine einfach in der Lage sein, zu übergeben. Hallo. Nennen Sie hier. Und wir werden diesen Namen geben. Ähm, hier drinnen kannst du das tun. Das ist etwas, das wir nicht gesehen haben, dass Sie tatsächlich passieren können. Der Name entspricht keiner, was bedeutet, dass er nicht erforderlich ist. Das würde uns erlauben, den Zeh zu dienen? Ähm, hallo allein oder Ah, hallo. Name. Und ich werde eine neue Route für diesen ersten Fall erstellen, denn sonst wäre es, dass wir diesen Trainingsschrägstrich danach brauchen würden. Hallo. Dies ist also auch etwas, das Sie einer bestimmten Funktion mehrere Routen zugewiesen haben können . Ähm, aber irgendeinen Fall, Hallo? Name gleich bekannt bedeutet, dass wir Hallo nur von selbst und hallo machen können. Name. Ah, hallo. Schrägstrich Name. Und der Name wird mit allem bevölkert werden, was wir nach dem Hallo passieren, und ist ein sehr wichtiger Trick. Sie können hier als Paar vorbeigehen, im Grunde die
Lebensfähigkeit,die wir Lebensfähigkeit, durch den Euro
vergeben werden. Was das bedeutet, ist der Name innerhalb der Vorlage wird gleich dem Namen sein, den wir hier
übergeben haben . Ähm, aber seht euch einfach so für euch, Zehe, seht es besser. Das heißt diese Namensvorlage, so dass Sie den Unterschied sehen können. , Und dann,was ich hier reinbringen werde, ist, dass ich viel haben werde und dann auf das lebensfähige
drinnen zugreifen werde. Ich habe zu geschweifte Klammern angelegt. Ich habe hier Namen gesetzt. Okay, es gibt eine Menge Zeug da drin, aber mal sehen, wie das funktioniert, wir sehen, dass es gut läuft. Und jetzt werden wir Hallo tun, Schrägstrich Jorge und wir sehen nicht das Horn, alles tut mir leid, dass wir Hallo zugewiesen haben. Ich meine, benannte Vorlage anstelle von Namen. Also sehen Sie, wie Name hier nicht richtig ist, aber Namensvorlage wird gelesen werden, also wird es neu gestartet. Versuchen wir es nochmal. Und da gehst du. Hallo? Oder wenn ich Hallo setze, Robert, dann kriege
ich Robert. Du siehst also, wie es nicht ist. Es gibt nicht genau diesen HTML-Code zurück, aber es rendert oder ersetzt tatsächlich einen Teil des HTML-Codes im laufenden Betrieb durch was auch immer, wo wir passieren. Also würde ich es nicht wirklich finden,
aber es ist eine Konvention, die ich meine, es ist, wenn Sie wissen, dass das passiert, können
wir es einfach so verwenden. Ähm, und das Letzte, was ich hier versuchen werde, ist, dass ich eine Bedingung habe, sich daran zu erinnern, wie wir Hallo und Hallo
haben. Nennen Sie, wenn ich passe. Hallo? Nehmen wir das. Er arbeitet. Also, Richard, Schwester Richer. Okay, wenn ich
also hallo allein gebe. Ich sehe Hallo. Bekannt, was irgendwie lustig ist. Es ist nicht sehr schön, weil wir das nicht wollen. Wie wenn sie da drin bekannt sind, macht
das keinen Sinn. Also, was wir tun werden, wir sind tatsächlich in der Lage, bedingte,
wie wenn Anweisungen innerhalb der Vorlage zu tun . Und um das zu tun, tun
wir. Anstelle der beiden Klammern, geschweifte Klammern, machen
wir geschweifte Klammerprozentsatz. Und was wir tun werden,
es ist, als würden wir überprüfen, ob Name, was bedeutet, wenn der Name einen Wert hat, dann drucken Sie das, aber sonst und sehen, wie es Python ist. Wenn wenn dann, ähm, dann werden wir nur Hallo Welt sagen, und Sie müssen die Wenns beenden, so
müssen wir tun. Und wenn hier. Okay,
also, was da passiert, ist, wie, wenn es eine benannte Person gibt, die Hallo Name sagen wird, sonst wird er Hallo Welt zeigen. , Mal
sehen,ob das funktioniert. Wenn ich nur hallo mache,
verstehe ich Hallo,
Welt. Wenn ich nur hallo mache, verstehe ich Hallo, Wenn ich das tue? Hallo, Jorge. Ich verstehe Hallo, Hure. Das ist also irgendwie ganz einfach,
aber das ist wie, im
Grunde, wie Sie die Vorlage auf Kolben machen, und wir werden weitermachen,
ähm, die mehr Dinge zu erkunden, die wir damit tun können.
33. Login: Okay, jetzt, wo wir wissen,
wie man Template ing , macht,werden
wir versuchen, das Formular zu machen, das wir vorher hatten,
und machen es macht,werden
wir versuchen, das Formular zu machen, das wir vorher hatten,
und machen es
Teil einer Vorlage. Das erste, was wir tun wollen, ist, dass wir tatsächlich eine neue Vorlage erstellen möchten. Also werde ich das einfach löschen. Hallo? Html. Und ich werde hier eine neue Vorlage namens Logging Exstein erstellen. Nun, es ist
also wie eine Login-Seite, also schauen wir uns das an. Ähm, ich werde
ein Boilerplate erstellen ich werde
ein Boilerplate erstellen. Es ist wieder die mittlere Fünf-Seite. Das ist nicht etwas, das Sie brauchen,
um ,
um für die Partituren
zu meistern. Und als ich eine Titel-Blogging-Seite sagte, und so werde ich hier ein Formular machen. Die Aktion wird sein,
ähm, es ist ein Login. Nun, erinnere dich nicht, was wir vorher über Europa gesagt haben. Das ist ein perfektes Beispiel dafür, wo wir Euro nutzen könnten, und wir werden in einer Sekunde darauf zurückkommen. Also habe ich meine Form dort. Ich werde nur einen, äh, den Namen Leute Typ
verwenden. Eingabetyp entspricht Text, und ich nenne es verwendet ihren Namen und dann werde ich hier noch einen machen, was schnell Word ist. Und, ähm, es wird uns das Passwort lebensfähig übergeben und brauchen endlich einen Knopf, um das Formular zu senden. Und ich werde das Le Guin nennen. Perfekt. So können Sie das im Vollbildmodus sehen. Ähm, also habe ich meine Form, dass Action Lovin Schrägstrich suchen wird. Das heißt, wenn ich auf „Senden“ klicke, geht es auf die Seite mit dem Schrägstrich und es wird passieren. Ich benutze ihren Namen lebensfähig mit etwas String und das Passwort, das mit einer anderen Zeichenfolge möglich ist. Und so lassen Sie uns das in unserer Anwendung verdrahten. Okay, also lasst uns weitermachen und unser Hallo ändern, P. also lasst uns weitermachen und unser Hallo ändern,
P. Ähm, also werde ich hier einfach eine neue Funktion erstellen. Der obere Ausgang wird sein,
ähm, ähm, Schrägstrich einloggen. Und dann werde ich zwei Methoden erlauben, uh, get and post und ich werde diese Funktionsprotokollierung aufrufen. Also werde ich sagen, wie wir es vor Vorabend Anfrage getan haben, uh Dot Methode wird angenommen Es bedeutet, dass der Benutzer bereits Submit gedrückt hat, also werden wir einfach zurückkehren. Äh, Sie ,
Sir, Prozentsatz s, was eine Schnur sein wird. Also, wie bekommen wir den Wert vom Benutzernamen? Es stellt sich also heraus,
dass die Anfrage ein na Objekt oder ein Wörterbuch hat, das Anforderungsformular genannt wird. Und darin wird
es alle Felder haben, die Sie auf die Anfrage in diesem Feld hier gesendet haben. Also, wenn wir Sorry anfordern, wenn wir diesen Formularbenutzernamen anfordern, dann wird das den Wert von diesem Houston-Infield halten. Und
andernfalls, andernfalls, wenn wir den Beitrag nicht bekommen, bedeutet das, dass wir einfach die Seite laden. Nun, nur um Render-Vorlage zurückzugeben. Logan HTM. Mal sehen, wie das aussieht. Ähm, das starten Sie die Anwendung hier telefonisch. Hallo? P y und es gibt keine Lüfte. Und lasst uns die Anwendung holen. Ihr seid alle hier von der Aktie. , Es wird hier nicht gefunden,weil wir
angegeben haben, dass die einzige Route, die für diese Verpflichtung verfügbar ist, Schrägstrich Logan ist. Also machen wir Schrägstrich suchen dort. Da gehst du. Also rendern wir die Vorlage als Formular und wir können versuchen, Jorge zu tun. 12345 Nein, nochmal. Benutzer Jorge wurde geladen. Also liest es richtig, dass Benutzername Feld hier und Also haben wir eine ziemlich gute
Anfangsform zu arbeiten, bevor wir weitermachen. Eine Sache, die ich hier ändern möchte, ist dieser letzte Logan. Erinnerst du dich, als wir über deine vier geredet haben? Wie wir es nicht getan haben Das war keine gute Praxis, um bei der Umwerbung von Mädchen tatsächlich zu setzen. Also, wenn Sie A eingegeben haben, wann immer Sie etwas eingeben, das Schrägstrich Sie wissen, ein l
aus einer Art von wie Ihre Anwendungsrouten, sollte
es eine große rote Flagge für Sie sein. Stattdessen sollten wir hier den Euro für Methode und Gerücht verwenden, wie wir das früher gesehen haben. Also in diesem Fall werden
wir Ihre vier setzen, und dann müssen wir den Namen der Funktion setzen, die in diesem Fall die Protokollierungsfunktion
ist. Wenn ich also das Öl für Le Guin hier lege und dann spart, dann sehen
wir mal,ob ich hier irgendwelche Erben habe. Öl für Le Guin hier lege und dann spart, dann sehen
wir mal, Ich kriege Jahre. Also lassen sie mich die Seite neu laden und Sie werden sehen, ob ich die Ansichtsseitenquelle sehe, dass es richtig zuordnet, um Logan zu schrägen. Das ist also ein großer Vorteil, wenn man stattdessen Euro vier benutzt, abseits des eigentlichen Schrägstrichs wieder, denn was passiert, ist ,
du weißt schon, irgendwie das letzte zu denken. Logan wird durch eine Reihe von Tempeln gespickt, wie Hunderte von Vorlagen. Stattdessen ändern wir uns in, ähm, Protokollierung. Unterstrichen, verwenden oder richtig,
um, um, jetzt der Euro-Release-Logging-Benutzer statt sich einloggen. Und wenn wir das treffen, sind
Sie alle hier Protokollierung Benutzer, werden
wir sehen, dass es lädt hier. Aber nicht nur das, die Ihre L vier aktualisiert automatisch, dass. Das ist also die große Sache, die eine große Sache ist. Und wir sollten immer Ihre alle vier verwenden, wenn Sie sich auf den Ural in
Ihren Vorlagen beziehen und sogar innerhalb Ihrer Verpflichtung, ähm, Controller als auch.
34. Anmeldefunktion: Okay, ähm, also werden wir noch ein bisschen mehr an der Anwendung arbeiten. Was wir in dieser Lektion tun wollen, ist eine Logging-Funktion wie Überprüfung der Verwendung feindlichen Spot am Bass. Waren funktionieren gut. Obwohl wir nicht wie eine echte Anwendung
überprüfen werden, die eine Datenbank benutzt, aber wir werden es irgendwie gefälschen. Und die Art und Weise, wie wir das tun werden, ist, dass wir überprüfen, ob der Benutzername und das Passwort identisch sind, wie der Benutzer sich anmelden kann. Es ist ein bisschen einfach, aber es erlaubt uns zu überprüfen, wie diese Dinge funktionieren. Also, ähm, ich werde eine Funktion erstellen. In Ihrer Flask-App können
Sie also Funktionen definieren, die
wie intern sind . Sie haben keine Routen. Sie sind sozusagen wie Hilfsfunktionen . Und ich will eine tolle dieses Tal Login-Funktion, die,
ähm, wenn Sie übergeben, Ich benutze den Namen und das Passwort. Es wird überprüft, ob der Benutzername mit dem Kennwort übereinstimmt. Dann kehrt es zurück. Getreu, wer auch immer es angerufen hat, sonst wird es fallen zurück. Es ist also eine sehr einfache, äh, Art von Funktion, aber stellen Sie sich vor, dass dies so wäre, wie Sie in die Datenbank gehen und
die Verwendung von Namen und Pass-Datensatz holen und überprüfen, ob es violett ist und dann Sie zurückkehren Etwas zurück. Das ist also irgendwie so, wie das funktionieren würde. Aber hier drin wollten wir es nur schaffen, dass, wenn der Benutzername und das Passwort gleich sind, dann kann der Benutzer es lieben. Also, Also, was wir tun wollen, ist, dass wir dies mit der Post-Methode überprüfen wollen. Wenn die Methode des Datensatzes gepostet wird, werden
wir überprüfen, ob gültig, Logan und dann haben wir den Benutzernamen. Also müssen wir das Anfragepunktformular übergeben, ihren Namen als erstes Barometer
benutzen
und dann ein Formular anfordern, äh, schnelles Wort, um, ähm,
Zehe,das Passwort zu um, ähm,
Zehe, nehmen. Also, wenn diese beiden die gleichen sind, weil dies für ihre gleichen einchecken wird und es wahr
zurückgibt, dann wird alles, was darunter ist, ausgeführt. Also sagen wir „Zurück“. Willkommen zurück. Ähm, und dann der Benutzer, der Name des Benutzers, also fordern Sie dieses Formular an. Er hat den Namen benutzt, aber was passiert, wenn es nicht in Ordnung ist, also sagen wir, wir setzen das falsche mit einem Pass, was bedeutet, dass sie nicht die gleichen sein werden. Also haben wir einen else-Block, und wir können hier einen Fehler setzen, so dass Fehler falsch ist. Uh, benutze den Namen und das Passwort. Okay, also, aber was passiert? Ähm, mit diesem Fehler, wo wird das angezeigt? Ähm, eine Sache, die wir tun wollen, ist, ähm, wir wollen übergeben, und Sie können den Inhalt der Vorlagen übergeben. Und Sie müssen nur im Grunde das lebensfähige,
wie,
innerhalb der Vorlage zuweisen wie, , und was dann? Das ist gleich zwei. Also im besten Fehler gleich Luft. Und wenn wir dann auf der Anmeldeseite oder der Vorlage sind,werden
wir im Grunde danach suchen. Und wenn wir dann auf der Anmeldeseite oder der Vorlage sind, Aber beim ersten Durchlauf, wenn du es zum ersten Mal vornimmst, wird
es diesen Teil hier nicht ausführen. Ähm, und die Luft wird undefiniert sein. Also könnten wir da reinkommen. Der Weg, das zu vermeiden, ist, dass wir den Fehler von der von Anfang an setzen können,
bevor wir es überhaupt tun. Ist das Teil des Codes? Aber lassen Sie uns überprüfen, was passiert, wenn wir das tun, also Mal sehen, ob die Anwendung läuft. Es wurde neu geladen. Das ist perfekt. Und so werden wir tun Logging Benutzer hier. Uh, ich
bin's, Logan. Entschuldigung. Loggen Sie sich ein. Okay, also das ist die Ära, die wahr über so lokale praktikable Fehlerreferenz vor der Zuweisung . Also im Grunde sagt er, weißt
du, weißt
du, du sagst mir, dass Luft gleich Fehler ist. Ich weiß nicht, was dieser Fehler ist, also um das zu vermeiden, setzen
wir Fehler gleich keinem am Anfang, so dass, weißt
du, der Anfang nur zu keinem gesagt wird. Und dann, wenn die Luft passiert, dann werden wir diesen Fehler passieren, der nicht einmal Pass zurück an die Vorlage. Und Sie können sich vorstellen, dass es mehr Fehler geben könnte. du, Weißt
du,
du hast weder den Benutzernamen noch ältere Anwendungsfälle gespürt, aber im Moment werden
wir daran festhalten. Also lassen Sie uns sehen, dass neu geladen, äh, und gehen ein Nachladen, dass. Jetzt haben wir die richtigen Vorlagen, und das ist alles in Ordnung und gut. Versuchen wir also, das Gleiche zu setzen, den Benutzernamen und das Passwort. Sie sagen einen Brief, damit das genauso funktioniert. Ihr Reisepass bedeutet, dass wir die gültige Protokollierung als wahr zurückgeben. Und es wird sagen, Rückkehr, ich meine, wird sagen, Willkommen zurück, äh, Jorge in diesem Fall. Also lasst uns das noch versuchen. Das funktioniert ganz gut. Wenn ich zurück gehe und Jorge einlege und dann John hierher bringe, sollte ich da reingehen. Oh, aber wo ist die Luft, die wir hier nur definieren? Nun, Nun, die Sache ist, dass wir diesen Fehler hier übergeben, aber wir die Sache ist, dass wir diesen Fehler hier übergeben,
aber wir
setzen nirgendwo auf die Vorlage, die wir dem Benutzer erklären sollten. Also, wie machen wir das? Ähm, es ist ziemlich einfach. Ähm, ich werde hier einen If-Block setzen, wenn Fehler. Das bedeutet, dass, wenn es etwas gibt, das lebensfähig ist, etwas hält und nur damit wir uns nicht daran erinnern, es zu schließen, es wird es hier schließen. Und dann werden wir sagen,
ähm, ich werde hier nur einen roten Text einfügen, und ich werde sagen: Drucken
Sie einfach die Luft aus, dass die Vorlage eine Einstellung ist. Ähm, eine andere kleine Sache, die ich hier ändern möchte, ist, dass ich das Passwort eingeben werde
, damit du nicht sehen kannst, was eng ist. Und es ist wie eine eingebaute Sache, die HTML hat. Um Also, wenn ein Fehler durch die Vorlage übergeben wird, dann haben wir das dort angezeigt. Das ist Bean, die vom Controller definiert wird. Der Kontrolleur ist Hallo, P Y also mal sehen. Das sieht in Ordnung aus. Ähm, keine Erben, also versuchen Sie es noch einmal. Also setzen wir Jorge und dann Jorge ein. Sieh dir das an. Finden Sie ein bisschen wie Punkt oder Sternchen? Ähm, das ist der Passworttyp. Na ja, schon wieder. Und ich war, das war perfekt. Also, was passiert, wenn wir das falsch machen, damit Jorge und Ana den Test Perfect machen. Also bekomme ich die Luft in roten Buchstaben. Ähm, sehr, weißt
du, meine
Aufmerksamkeit zu lenken. Und es zeigt den Fehler an, den wir hier definiert haben. Wir kommen also einer guten Arbeitsanwendung näher. Ähm, mal sehen. Was als nächstes kommt.
35. Redirect After Post: Okay, das nächste, was wir sehen werden, ist,
ähm, ähm, Umleitung von Benutzern, nachdem die Protokollierung und das Passwort korrekt sind. Der Grund dafür ist, dass, wenn wir ein Formular eingeben, und es kommt auf die Seite oder auf den Server eher, dass, ah, Post Informationen hängen immer noch herum. Und das ist etwas, das du sehen wirst, wenn du keine Weiterleitung machst. Also sagen sie, ich mache das hier, Jorge Jorge, das ist der richtige Logan in einem Presse-Login, den ich auf die Login-Seite mit Willkommen zurück, Jorge. Richtig. Aber was passiert, wenn ich treffe? Nachladen? Sehen
Sie, Sie sehen diese hässliche Art von wie Dialog, der sagt, Sie wissen, bestätigen für Wiedereinreichung, die nicht sehr professionell aussieht. Außerdem ist
es, ah, ah, es ist ein Sicherheitsproblem, weil, wissen
Sie, Sie könnten möglicherweise Daten herumliegen. Also, was wir normalerweise nach einem erfolgreichen Logan tun, ist, dass wir den Benutzer auf eine andere
Seite schicken , die, ähm, diese Art von Like kann, ah klar, dass diese Post-Informationen und senden Sie auf Ihrem Weg. Also machen wir das in dieser Lektion, und so machen wir das. Das erste, was wir hier tun werden, ist, dass wir versuchen, eineUmleitung hinzuzufügen, Umleitung hinzuzufügen, die ein Flask-Dienstprogramm ist, und diese Weiterleitung wird uns zu jeder mündlichen Nachricht schicken, die Sie angeben. , Also hier, anstatt zurückzukehren,
willkommen zurück, willkommen zurück, Jorge oder was auch immer, die Houston Waas, wir werden eine Umleitung Leute haben und es ist ein bisschen lustig weil du zurückgekehrt bist die Weiterleitung. Und, ähm, ich denke, ein Teil des Grundes, dass das die Art und Weise funktioniert, ist, weil es ein
HTTP-Code gibt , der drei oder vier heißt, was eine Weiterleitung ist. Und ich denke, das macht Flask dort drin,
aber zeigt an, dass Sie Return benutzen müssen, umleiten und, ähm, aber bevor wir das tun, werden
wir,
ähm, wir werden eine neue AP-Route erstellen, was eine willkommene Landingpage sein wird. Also lasst uns das schaffen. Wir werden die Route weiter machen. Wir werden es willkommen nennen. Und dann werden wir einen Benutzernamen dort setzen, so dass wir den Benutzernamen auf
dem Euro übergeben können , und dann werden wir gut definiert dies als eine Funktion namens willkommen machen und diese
Vorlage zurückgeben . Render-Vorlage. Ähm, Begrüßungstür, Ext. E-Mail. Was wir noch nicht erstellt haben und den Benutzernamen übergeben wird. Zehe das dazu. Also, jetzt können wir jetzt, ähm, die Rückkehr
setzen. Umleiten. Also werden wir zurückkehren. Umleiten, dass Sie l vier sind, die, wie Sie wissen, während des Euro für eine bestimmte Funktion, Ähm, und wir werden passieren. Benutzername entspricht dem Anforderungsformular. Ah, gewöhnen Sie sich. Ok. Was hier passiert ist, ist, dass wir den Euro umleiten. Vier von dieser Funktion. Willkommen. Welches hier ist. Und wir übergeben den Benutzernamen, das ist die, ähm, diese erste Methode. Es ist dieser Benutzername hier, der ah, erweist sich als der Benutzername. Ah, Parameter für diese Methode. Also wird es das da drinnen lesen. Um, sehen Sie, wir haben hier keine Euro 40, also haben wir hier noch keinen Euro vier definiert. Also, da gehst du hin. , jetzt haben wir unsere Rücksendeumleitung Also, jetzt haben wir unsere Rücksendeumleitungeingerichtet, und was passieren würde, ist, wenn der Benutzername und das Passwort korrekt sind, werden
sie zurückkehren, oder Sie werden uns auf diese Seite umleiten. Willkommen Schrägstrich. Sie wissen, Benutzername Jorge oder Jack, oder was auch immer die Verwendung Feinde und dann geben Sie es eine Vorlage. Ähm, das wird jetzt definieren. Mal sehen, wie diese Vorlage aussieht. Wir werden etwas ganz Einfaches tun. Wir sind also eine tolle neue Datei hier, und wir werden sie Welcome,
HTML nennen , und wir werden das öffnen, und wir großartig eine sehr einfache HTML-Datei. Ähm, wird,
äh,
Titel East haben äh, . Begrüßungsseite. Und wir werden die letzte Saite haben, die heißt willkommen und ihren Namen benutzen, was die Lebensfähigkeit ist, die die Zehe zum Tempel übergab. Das war's also. Mal sehen, ob wir irgendwelche Fehler haben. Sieht gut aus. Also, jetzt gehen wir zurück zum Loggen und versuchen Jorge. Jorge, äh, da gehst du. Und jetzt sind wir nach zwei oder umgeleitet, um Schrägstrich Jorge willkommen zu heißen und Sie sehen willkommen Jorge dort . Was passiert nun, wenn ich reload drücke? Nichts. Aber ich sehe nichts, weil es eine statische Seite ist. Es ist schon so, als gäbe es dort keine Postdaten. Das ist also etwas, das du immer tun wirst, wenn du
Formulareinreichung machst, ist die Umleitung von Benutzern,
um zu sagen, dass die eigentliche Seite , du anfangen wirst, irgendeine Art wie Operationen zu machen und Zeug. Also denken Sie daran, dass es ein es ist eine gute Regel Zehe
36. Flash: eine com-Operation, die wir in der Lage sein wollen, zu tun ist, um den Benutzer zu kommunizieren. Wenn so etwas passiert ist,
zum Beispiel,
wenn Sie erfolgreich eingeschlossen haben,
aber Sie wollen es auf der nächsten Seite tun,
zum Beispiel,
in diesem Fallwollen
wir Wenn so etwas passiert ist, zum Beispiel, wenn Sie erfolgreich eingeschlossen haben, aber Sie wollen es auf der nächsten Seite tun, zum Beispiel, in diesem Fall , um in der Lage zu sein, wenn Menschen dies treffen. Willkommen, Mädchen. Stellen Sie sich das vor. Das ist die Startseite Ihrer Bewerbung. Sie möchten in der Lage sein, Nachrichten und verschiedene Nachrichten zu übergeben, je nachdem,
was die letzte Operation Waas ist und weil x t p keine Art von,
wie Zustand zwischen verschiedenen Seiten behält. x t p keine Art von,
wie Zustand zwischen verschiedenen Seiten behält Sie müssen in der Lage sein, das irgendwo zu speichern. Diese Benachrichtigungsnachrichten und Flask bieten eine, äh, Art wie ein Subsystem namens Flash-Nachrichten, die es Ihnen erlauben, genau das zu tun. Also werden wir hier eine blitzgemessene Nachricht machen, damit ihr sehen könnt, wie das funktioniert . Damit wir Flash-Nachrichten verwenden können, müssen
wir Flash hinzufügen. Hier sind als eine der Bibliotheken, die wir importieren werden und ah, Flash ist sehr, sehr einfach. , Was wir hier tun werden,ist, dass
wir nach der gültigen Logan-Methode, Ähm oder wenn bedingt, ,
oder wenn bedingt,einfach Flash sagen
und dann erfolgreich eingeloggt sind . Nun, was das tun wird, ist,
dass es diese was das tun wird, ist,
dass es dieseFlash-Nachrichten in einem On a Session-Cookie
speichern wird. Beim nächsten Mal, wenn eine Seite geladen wird, die diese Nachrichten abruft oder abrufen möchte, wird
es jede Nachricht, alle Nachrichten, die Sie in vorherigen Seiten geflascht haben, und es wird wieder auf Null zurückkehren, wie, zurücksetzen und Sie kann mehr als eine haben. Also, wenn Sie setzen Flash hier erfolgreich angemeldet, Aber Sie hatten eine vorherige Flash-Nachrichten sagen so erfolgreich registriert und Sie haben nicht in einer Seite
gelandet, wo diese Flash-Nachrichten abgerufen werden, dann werden Sie alle von ihnen sehen. Ähm, aber wir müssen diesen Abruf machen, ähm, irgendwie wie Code. Und das machen wir hier auf der Willkommensseite. Also, was ich tun werde, ist, dass ich zu einer generischen
Gruppe gesucht werde um , alle Flash-Nachrichten
zu vergessen und sie im Grunde auf die Seite zu setzen. Also werden wir das benutzen. Um, diese Methode, die mit Nachrichten gleich aufgerufen wird, erhalten Flash-Nachrichten und erhalten Flash-Nachrichten ist wie die eingebaute,
um, Methode, die in der Vorlage verfügbar ist, um alle Nachrichten zu erhalten. Also, im Grunde sage
ich, setzen Sie Nachrichten als eine lebensfähige, die alle Flash-Nachrichten enthält, die wir
bis hier haben , Ähm und dann, wenn mit hier enden. Also das ist Ah, das ist im Grunde eine Schleife. Und jetzt werde ich überprüfen, ob Nachrichten, so dass, wenn es keine Nachrichten gibt, wir einfach dieses Snippet behalten. Ähm, und jetzt gehe ich zu Ist das eine Bestellung auf der Bestellliste in der nächsten E-Mail? Und das kannst du nachsehen. , Und als ich das als eine Klasse definiert habe,die Flashes heißt,
und dann für jede Nachricht in dieser , Nachricht ist, ähm, im Grunde ist es eine Liste oder eine Art, wie alle Nachrichten, die in der -Nachricht. Also für Nachrichten in Nachrichten, werden
wir jede Nachricht zu bekommen. Das ist, wo diese Liste, ähm, und lassen Sie uns zu einem Ende für hier, damit wir die Struktur nicht verlieren können und wir werden Zeh auf u l zwei und dass Sie auf der Spitze. Und jetzt haben wir unsere Botschaft. Also
fügen wir einfach ein neues
Element in das Listenelement ein,
und wir drucken die Nachricht dort aus. ein neues Element in das Listenelement ein, Perfekt. Also das sollte alles sein,
ähm, also wieder hier, wir sind bereit. Wir setzen die Nachrichten lebensfähig, um alle Flash-Nachrichten als Liste zu erhalten. Wenn wir Nachrichten haben, so haben diese Liste, dann werde ich einen neuen Brunnen oder auf der Bestellliste erstellen, und dann werde ich für jede Nachricht gehen. Diese Nachricht wird ausgedruckt. Assad, das ist ein individualisiertes. Also mal sehen, ob wir hier irgendwelche Fehler haben. Sieht nicht so aus. Und nein, wir haben das nicht gerettet. Richtig? Also, jetzt bleib. Ok. Perfekt. Also versuchen wir es jetzt noch einmal. Also werden wir uns einloggen und wenn es zu Jorge, Jorge und schauen. Aber was ist hier passiert? Die Sitzung ist nicht verfügbar, da kein geheimer Schlüssel festgelegt wurde. Okay, das ist
also etwas, das du einstellen musst. Und ich, äh ich habe das absichtlich gemacht, damit du nicht, ähm, irgendwie den Zeh rennen konntest, weil es sehr häufig ist. Ähm, ich mag es immer, vergiss uns. Nun, was wir tun müssen, ist,
dass wir auf die,
ähm hier auf der Hauptseite setzen müssen . Die Methode,
wir müssen ein neues,
um lebensfähiges App-Geheimnis übergeben. Die Methode, wir müssen ein neues,
um lebensfähiges App-Geheimnis übergeben Sagen wir mal, mach das so hoch. Secret Key kodiert grundsätzlich alle Sitzungen, die Sie haben, so dass Benutzer nicht in der
Lage sein können ,
um ,
um, die die Informationen auf diesen Sitzungen abzurufen, und ich werde Ihnen später zeigen, wie man gutes Geheimnis generiert -Tasten. Aber für den Moment werden
wir nur eine sehr einfache,
super geheime Schlüsselkette hier setzen , und das wird unser super geheimer Schlüssel sein. Natürlich ist
es nicht sehr gut. Wir sollten eine Kombination aus Zeichen und Zahlen haben, Dinge wie diese. Aber vorerst, werden
wir sagen, das ist ein geheimer Schlüssel. Also, jetzt gehen wir zurück und versuchen es noch einmal. Oder hier oder hier und jetzt funktioniert es einwandfrei. Nancy, heißt
es, erfolgreich eingeloggt. Ja, ein bisschen wie Darting da, weil es eine Liste von Artikeln ist. Aber wie Sie sehen können,
wurde diese Nachricht sicher von der vorherigen Protokollierungsseite abgerufen. Was denkst du, passiert, wenn ich die Seite aktualisiere? Bekomme ich die Nachricht noch einmal oder nicht? Nun, mal sehen, ob ich neu lade. Oh, das ist verschwunden. Nun, lassen Sie mich wieder laden. Oh, ich sehe es nicht mehr. Also sieh mal
, so funktionieren Nachrichten. Es ist so, als würdest du sie holen. Du setzst diese Liste zurück, und jetzt irrst du dich. Du hast diese Nachricht nicht mehr, was perfekt ist ,
weißt
du so sollte es funktionieren. Ähm, wir sollten wir sollten
das funktional haben. Auf diese Weise bist du sicher, dass wir,
ähm, wir werden eine Nachricht weitergeben, die von der anderen Seite verbraucht wird. Und danach ist es Ah, es ist ein Reset, und wir tun es nicht. Wir zeigen dem Benutzer nicht zurück.
37. Besser/HTML: Okay, wir müssen,
ähm, anfangen, ein bisschen eine bessere Struktur in unseren HTML zu setzen. Also, wenn du das überspringen willst, ähm, diese Lektion, ist alles in Ordnung. Ah, ich werde nur ein bisschen zum Besseren bringen. Es ist weiblich hier auf unserer Logging-Seite, um, damit es standardkonform ist. Und wichtig, es ist immerwichtig,
in jedem Code,
den wir tun,standardkonform zu sein , . Also werden wir hinzufügen, wenn er es versucht hat. Html, ähm, Bezeichner hier am Anfang, und dann schließen wir das nach unten, dann haben Sie normalerweise einen Kopf
, wo Sie den Titel definieren und andere, ähm, andere Art von Attributen für die Seite. Und dann müssen wir Körper tun, in
dem sich der eigentliche Körper der Seite befindet. Und wir schließen das, äh, und ,
ähm ,
ähm, und schließlich will
ich ein bisschen wie einen Titel oder einen Haarer haben, und ich werde das nennen, wissen
Sie, die Tat kann Gesellschaft, ähm, zu Ehren von denen dieser berühmten ah, Cartoons. Du weißt schon, wie der Straßenläufer. Ähm, und ich werde hier Logging-Seite setzen. Die Acme Firma fragte die USA einen Titel so OK, jetzt haben wir Ah bessere HTML-Seite. Wir haben unsere HTML-Deklaration vom Anfang des Endes. Wir haben einen Kopf mit dem Titel, und dann haben wir die Leiche und an jedem, Ähm, also werden wir das haben. Mal sehen, ob das gut aussieht. Und wenn wir auf Login klicken, werden
wir sehen, dass es ein bisschen besser aussieht. Aber vor allem, es ist jetzt irgendwie wie Standard konform. , Aber der Punkt,den ich hier ansprechen werde, den du immer noch nicht
siehst, ist,dass siehst, ist, wir das auch mit der Willkommensseite machen müssten, denn weißt du,
diese Seite ist genau die gleiche. Also, wissen
Sie, wir müssen wissen
Sie,
wir müssen
vielleicht all das kopieren und hier berichten. Nun, der Titel ist in diesem Fall die Willkommensseite. Also müsste ich tun, ist hier. Aber Sie können sehen, wie dies wirklich repetitiv und nicht sehr skalierbar werden kann. Also, zum Beispiel, was passiert, wenn Sie ändern wollen? Sie kennen diesen Teil hier, der die Acme Firma für alle Titel sagt, zum Beispiel, oder Sie wollen nicht, dass Sie diese h einen Titel haben wollen. Vielleicht mit dem Logo des Unternehmens auf jeder einzelnen Seite. Als würde es schnell zu einem Chaos werden,
um ,
um das aufrecht zu erhalten. Also, was wir sehen werden, ist etwas,
das , uns helfen wird, ähm, damit umzugehen. Und das heißt, um Schablone Vererbung. Also mal sehen, was? So sieht das aus.
38. Super Block: Ein letzter Auslöser, der euch zeigen will, ist und ihr werdet das sehen. Du wirst dich
in dieser Situation finden
, , glaube
ich,
ziemlich oft, glaube
ich besonders wenn du anfängst, Javascript-Bibliotheken und solche Dinge zu machen. , Denken Sie daran,wie wir gesagt haben, dass, wenn ich den Titel der Blocktitel hier hätte, ohne den Kopf zu finden, es intelligent wie hier eingefügt würde. Aber was passiert, wenn ich andere Dinge definieren möchte, die ich in diesem
Titel einfügen möchte ,
wie, sagen
wir, wissen
Sie, wissen
Sie, wissen
Sie Javascript-Bibliothek oder so, aber von Die von der Vorlage selbst, ähm, na ja, eine Möglichkeit, dass wir es tun könnten, ist, dass wir einen Sie wissen,
Blockhead hier haben könnten . Richtig? Und sagen wir, wir haben, ähm und Block, richtig? Und dann haben wir, ich werde nur gerne ein Skript Javascript-Tag, aber es wird nichts Schickes tun. Genau wie nur etwas zu haben, das ein Platzhalter unseres X ist gleich eins und Skript. Richtig? , Was passiert,wenn ich das mache? Nun, das Problem, das wir ergreifen werden, dass dies ihren ganzen Kopf ersetzen wird, und es wird nicht gehen. Ähm, alles für den Titel. Wie stellen Sie sich vor, es tut das so, als würde es all das durch das ersetzen. Diese Jobs waren wahrscheinlich, dass wir hier sind, also und Sie können es hier sehen. Wie, wenn ich erfrischen, um si, si, wie Hydro. Ich habe den Titel dort nicht mehr. Es ersetzt den ganzen Kopf damit,
also ist dasnicht sehr gut und
sieht,als hätten wir jetzt diesen hässlichen Titel,
der der Euro ist. Es ersetzt den ganzen Kopf damit,
also ist das nicht sehr gut und
sieht, als hätten wir jetzt diesen hässlichen Titel, Also möchte ich in der Lage sein, dieses JavaScript einzufügen zu denken, dass sie hier drin sind, aber gleichzeitig meinen Blocktitel haben,
ähm, ähm, in ihrem Und,
ähm, so wie Sie das tun, ist, dass Sie eine,
äh eine Methode namens Super aufrufen . Also, wenn wir
es tun, ähm, ist es irgendwie wie ein lebensfähiger Super. Was wird dann passieren? Diese wird das den Kopf durch dieses Zeug ersetzen, aber dann wird es den Titel den Titel-Tag überlassen, um eine Art Toby
zu sein, wie,
ähm, erlaubt, durch nachfolgenden Aufruf modifiziert werden. Also lassen Sie uns sehen, dass in Aktion erhalten den Titel jetzt sieht gut aus. Und da gehst du hin. Sehen Sie, Jetzt habe meinen Titel, wenn ich sehe, die Quelle bezahlt werden Quelle, Ich habe meinen verschraubten Typ hier und dann meinen Titel hier. Wir könnten es auch andersherum machen. Wenn du aus irgendeinem Grund zuerst Titeln wolltest,kannst
du das tun,
richtig? Wenn du aus irgendeinem Grund zuerst Titeln wolltest, kannst
du das tun, Also zuerst sagen wir,
OK, OK, das Titelfeld, ersetzen Sie es durch dieses und dann für den Kopf tun Sie diese Einfügung auf dem Kopfteil, aber nannte das Super was wird, wie Fügen Sie den Titel zurück. Und wenn wir jetzt hier neu laden, werden wir das gleiche Ergebnis sehen. Wir haben unser Recht den richtigen Titel. Aber wenn wir die Quelle der Ansicht Seite sehen, werden
Sie sehen, dass Oh, der Titel erscheint immer noch darunter. Das ist interessant. Ich hatte zuerst den Titel Toby Toby erwartet, aber nein, eigentlich, was ist was? Die Art und Weise, gegen die wir die Auftragsänderung vornehmen würden, wäre dies genau, weil dann Supers wie das Titelstück anruft und dann das Ding danach eingefügt
wird. Also lass mich die Augenwunden noch neu laden, und da gehst du, Ähm, und das ist eine Erfindung dort, so dass es ein wenig schöner aussieht. Perfekt. So sehen Sie, das ist, wie Sie Ihre Ableto mögen, um Angriff in einem Block zu ändern, aber auch irgendwie wie die Super-Methode aufrufen, so dass Sie auch mehr Dinge damit machen können.
39. Template: Als wir also tief in der Brise Lektion sahen , versuchen wir,
die Seiten,
die Anmeldeseite zu reparieren ,
um umwerfender , zu
sein, als wir sie hatten. Es ist wie erforderlich, ähm, Tags für die richtige Es ist das Männchen. Aber wie wir gesehen haben, ist
es sehr wiederholt oder unqualifiziert in der Lage, dies für jede einzelne Seite zu tun, die wir tun. Die Art und Weise,
wie wir , dieses Problem lösen,
ist, dass wir etwas namens Template Vererbung verwenden und Tim Blizter Vererbung bedeutet nur, dass wir eine im Grunde eine wir sind basierte Vorlage haben werden , die die gemeinsame Dinge und dann jede zusätzliche Seite Nun, genau wie erweitern oder in die Zehe, die bestehende Art von wie Basisseite hinzufügen. Dennoch ist
der beste Weg, dies zu sehen oder zu verstehen, in Aktion zu sehen. Lassen Sie uns also unsere Basis-HTML-Seite erstellen und sehen, wie das aussieht. Also lassen Sie uns eine Basis-HTML-Vorlage und so neue Datei erstellen und wir werden diese
Basis HTML nennen und wir werden kopieren und einfügen eine Reihe von Sachen, die wir
zuvor gehört haben . Ähm, also werden wir Doc-Typ haben, den wir vor uns haben, und dann werde ich eine Leiche haben, und wir werden HD beenden. Das ist also wie die grundlegende, sehr, sehr grundlegende Struktur. Aber, ähm, fangen
wir an, eine andere interessantere Füllung hier zu machen. Also, zum Beispiel, auf dem Kopf, ähm, kann
ich so etwas wie Titel machen, oder? Und dann würde ich so etwas wie die Acme-Firma setzen. jedoch, Das bedeutetjedoch,
dass die gleichen Titel auf jeder einzelnen Seite angezeigt werden. Aber ich möchte in der Lage sein, diese Art von Dingen zu tun, wie das Bloggen von Paige Dash und auf der Willkommensseite. Begrüßungsseite Bindestrich. Richtig. Das und dann drucken Sie die Firma Acme aus. Die Art und Weise, wie wir dies mit der Basisvorlage tun, ist, dass wir Bereiche definieren, in denen Dinge durch die durch die Kinder oder durch die erbenden Vorlagen
ersetzt werden können und die temporäre
an diesen Stellen ändern können. Die Art und Weise, wie Sie das tun, ist
,wir verwenden
diesen , Befehl namens Block, und dann setzen Sie einen wie einen Namen für diesen Block. Also, wenn ich Blocktitel mache und dann das Ende davon definieren und blockieren, was passieren wird, ist, dass jedes Mal, wenn wir ein Leerzeichen und dann den Bindestrich hier setzen. Jedesmal, wenn eine Seite wie die Login-Seite erbt, die wir ersetzen werden, im Grunde
dieser Teil,der sich mit dieser Block-Kachel ändert und der Rest wird sein,
ähm,es wird uns gedruckt werden im Grunde
dieser Teil, der sich mit dieser Block-Kachel ändert und der Rest wird sein,
ähm, wie wir ist auf der Basis auf der Basis auf der Basis Vorlage. Also, ähm, ich werde diesen ganzen Block definieren,
um, für den Kopf, weil ich in der Lage sein möchte, vielleicht auch bei älteren Attributen hier drin zu sein, vielleicht JavaScript zu injizieren Bibliotheken, Dinge wie diese. Und dann werde ich enden. Schau hier, Äh, also jetzt auf der Leiche, will
ich dieses h haben, was,
du weißt schon,
die Kopfzeile für alle Seiten ist du weißt schon, . Ich wollte die Acme-Firma sein, oder keine Änderungen dort. Und ich möchte immer haben, wenn es irgendwelche Flash-Nachrichten gibt, die sie hier zeigen. Also werde ich diesen Teil einfach kopieren und einfügen, weil er genau so funktioniert, wie er ist . Und ich schneide es tatsächlich von den Begrüßungsschweinen ab, und ich werde es hierher stellen. Es ist, äh, erfinden Sie das. Ok. Und,
ähm, wollte ich ein Gebiet
finden, obwohl es nicht finden erforderlich ist. Es ist wieder ein sehr häufiges Muster, einen Dave
zu haben, der alle Arten von,
wie,
den Hauptinhalt enthält wie, . Und ich werde diesen Block nennen, äh, Inhalt. Ok. Und, ähm, das
letzte, was ich tun werde, ist, dass ich auf ein Essen, das ein frisches HTML,
ähm,
Attribute ist ähm, . Und ich werde das auch blockiertes Essen nennen, oder weil ich
es vielleicht überschreiben kann , äh, überhaupt
nicht gedruckt. Oder, ähm, oder füge Sachen hinzu. Aber hier, ich werde ein Copyright-Zeichen und Copyright 2014 durch auf einem kleinen Hyperlink dort haben. Äh, weißt
du, zurück May Co und, äh, die Handlung, die ich perfekt ist. Also, jetzt habe ich meine Basis. Html sieht wirklich gut aus. Ähm, ich habe vor, dass ich mit einem Titel überschreiben kann. Ich habe einen Flash-Nachrichten für alle Seiten bereits gebaut in Haben Sie eine Contin, luftig und eine Fußzeile. Beginnen wir also mit der Anmeldeseite. Also, wie bekomme ich, dass diese Grundlegende krank hier drin scheint? Also verwenden wir ein Stichwort kalt erweitert, und so werde ich in der Lage sein, im Grunde Ah, nehmen Sie das alles aus und ich werde sagen, äh, erweitert Basis HTML und Sie legen es tiefer. Ich muss Zitate setzen. Entschuldigung. Und Flats wird jede Vorlage finden, die Sie mit diesem Namen Basij weiblich haben. Und es wird mögen, dass es für diesen Versuch offensichtlich wird. Also für den Titel, ähm, gehen zu, ähm, Block, Ups, Block, um, Titel. Und dann werde ich sagen, ähm, lass es uns einfach einloggen und dann das Glück beenden
und schauen, und was das tun wird, ist,
wie ich,
ähm, ähm, Block-Titelprotokollierung hier. Es wird hier reingehen, aber beachten Sie, dass ich am Anfang keinen Blockhead und Block einfügen musste
, weil das bedeutet, dass, wenn ich
einige interne, äh, tag wie Titelwohnungen intelligent genug, um zu wissen, dass es nicht ist. Wir wollen das Ganze nicht ersetzen. Wir wollen nur diese Zeile hier ersetzen, und das ist eine ziemlich nützliche Sache. Für uns brauchen
wir nicht mehr den Kopf zu führen,weil der Kopf definiert wird,weißt
du,
hier. Für uns brauchen
wir nicht mehr den Kopf zu führen, weil der Kopf definiert wird, weißt
du, Und, ähm, wir brauchen nichts von dem und was wir tun wollen ist, dass wir das als
Inhalt definiert haben , also blockieren Sie Inhalte, wer und das in diesem Bereich gedruckt oder eingefügt wird. Hier. Inhalt blockieren. Ich habe die Form Aktion Form Aktion Aktion. Ich brauche diesen Körper oder HTML nicht mehr,
und ich werde hier einen Block beenden. Ich brauche diesen Körper oder HTML nicht mehr, Cool. Wir beschäftigen uns also etwas später mit der Begrüßungsseite. Wir wollen nur sehen, dass die es gab Beschwerden funktioniert gut. Mal sehen, ob wir irgendwelche Fehler haben. Sieht gut aus. Lassen Sie uns also die Anmeldeseite neu laden und sehen, was passiert. Wow. Perfekt. So haben Sie jetzt die Kobe geschrieben, die von der aus der Vorlage kommt. Ich habe die Protokollierung gestrichelt. Die Firma Acme, das ist der Titel, den ich haben wollte. Und, ähm und alles andere sollte funktionieren. Äh, das Gleiche. Also, wenn ich Jorge Jorge mache, kann
ich mich einloggen und ich bekomme die Nachricht. Obwohl diese Nachricht von der Willkommensseite kommt. Das zählt also nicht. Aber lassen Sie es uns beenden und sehen, wie wir die Arbeit auf Seite machen. Okay, also lasst uns jetzt tun. Die Begrüßungsseite, also hier. Ich brauche das nicht, aber ich muss die Extends haben. Ich werde das nur von hier kopieren, und dann werde ich einen Titel haben. Und wenn ich uns das auf die Willkommensseite setze , und, ähm sehen Sie, und ich brauche das, um der Inhalt zu sein, richtig? Inhalt blockieren. Ähm, und das war's. Siehst du, wie einfach es jetzt aussieht? Es ist, ah, ziemlich reduziert. Und jetzt haben wir,
ähm, wir haben eine sehr einfache Möglichkeit, das zu
erweitern. Im Grunde sieht
Melanie auf verschiedenen Seiten genau gleich aus. Also, ähm, mal sehen, ob wir einen Fehler haben und wir werden die Protokollierung erneut durchführen. Ähm, also lasst uns zu Jorge Logan. Sehen Sie, wie ich jetzt immer das H hier habe. Die Kopfzeile. Ich habe Jorge willkommen und ich habe mein Essen. Oder das auf jeder Seite erscheint. Wenn ich neu geladen hätte, sollte
ich die Flash-Nachricht loswerden. Da gehst du. Er sieht gut aus.
40. Cookies: Okay, jetzt werden wir etwas Neues ausprobieren, das heißt, ähm, Cookies
verwenden, um die Abmeldung des Benutzers verfolgen zu können. Und Kekse sind im Grunde klein. Dateien werden
lokal auf Ihrem Computer gespeichert, , die nur auf die Domäne reagieren, mit der sie verknüpft sind. Also in diesem Fall würden
Sie mit unserer I d oder eher Hallo App aus Syrien sein, der u C nine dot io Domain. Also, ähm, wir werden lernen, wie man Cookies benutzt. Obwohl, ähm, es ist sicherer oder sicherer, Sitzungen zu verwenden. Aber es ist ah, es ist eine gute Sache zu lernen, wie man Cookies verwendet, weil Sitzungen auf Cookies basieren. Und es ist etwas, das Sie auf jeden Fall haben sollten. Ah, und alle seine eigenen auf, wie dies zu tun Um für uns Cookies mit Kolben zu verwenden, müssen
wir ah, verwenden Sie eine A-Bibliothek oder eine Funktion namens make response. Und make response erlaubt es Ihnen, die Antwort zu ändern, um,
ähm ,
Sie wissen schon,
Rex zu setzen ,
Sie wissen schon, Sie wissen schon, . Es ist gut wie, ähm, wie Cookies mit der gleichen Art von wie auf dem gleichen. Es ist eine Hin- und Rückfahrt, ähm, oder auf die gleiche Anfrage. Lassen Sie uns also eine Antwort auf die Flask-Bibliotheken hier auf den Spitzen machen. Und,
ähm, also werden wir diese Rückkehr „Auferstehung“ ersetzen? Ah, du bist eine Vier mit einem im Grunde, wir werden ein Response-Objekt erstellen. Also werden wir gleich reagieren, Antworten
geben
und dann dasselbe, was Europa zur Begrüßung ist. Ähm, das ganze, die ganze Sache. Und im Grunde tun
wir, ich bin eine Antwort auf den Umleitungsteil der Sache. Und jetzt werden wir auch einen Keks setzen,
und die Art und Weise, wie wir das tun, ist, dass wir antworten werden. Das besagte Cookie. Und dann setzen wir den Namen vom Cookie und einen Wert. Also in diesem Fall ist Anforderungsformular, uh, Benutzername
zu bekommen, und wir schließen das, und dann geben wir Antwort zurück. Das ist die Art, wie wir es tun. Also, wie Sie sehen können, wissen
Sie, verantwortungsvoll. zunächst Erstellen Siezunächstein Make-Response-Objekt, das den Euro vier hat. Willkommen. Was irgendwie wie eine Umleitung sein wird. Ich kenne die gleiche Antwort. Wir taggen auch auf dieser Seite. Cookie, Verwenden Sie den Namen. Ähm, es hieß es. Wir werden auch eine Look-out-Funktion erstellen, die es uns ermöglicht, sich im Grunde abzumelden Und ein Abmelden in diesem Fall wäre das Löschen des Cookies, Benutzernamens Cookie in, um, in der Anwendung so diskret, dass stolze Schrägstrich Ausschau und, äh, auf andere Erkenntnisse wie zum Abmelden Methode. Und wir waren mehr oder weniger dasselbe, was wir zu Ah gehen, antwortet, ähgleich antworten und dann jeder direkte Ah, du bist alt für äh Logan. Also in diesem Fall werden
wir der Person die Anmeldeseite schicken, wenn sie aufpassen, und dann werden wir antworten,
sagte Cookie. Und es ist lustig, wie ah, der Weg dorthin Sie der Führer Kekse. Sie sagten, es ist, ähm, Ablaufdatum auf Null. Und,
ähm, und Sie sagen, der Wert ist schwarz. Dieser dritte Parameter läuft ab und ermöglicht es Ihnen, die Lebensdauer der Cookies zu setzen. Ähm und
du weißt, du kannst im Grunde einen Keks für
eine Stunde oder einen Tag
setzen ,usw. , Ich glaube, das ist ah, das sind Sekunden. Und dann geben Sie die Antwort zurück. Okay, ähm, wir müssen auch die,
ähm die Begrüßung ändern . Ähm, also werden wir willkommene Art tun, wie die Route vom oder vom Index
der Anwendung zu werden . Wir werden uns einen Schrägstrich finden. Und was wir hier tun werden, ist, dass wir den Benutzernamen aus dem Cookie bekommen und den Weg, um einen Cookie-Wert zu erhalten. Sie verlangen das. Cookie start get verwenden Sie den Namen. Und wenn das leer ist, dann bedeutet das, dass sie ihren Namen nicht gesetzt wurde. Also werden wir das auf setzen, wenn ein Benutzername in diesem Cookie ist, als wir das sonst tun. Wir geben eine Weiterleitung an das Mädchen für den Blick zurück. Ok. Okay, also mal sehen, ob wir irgendwelche Fehler haben. Ähm, dass es uns gut ging. Also, jetzt gehen wir auf die Wurzel Zehe der Homepage und sehen, wie es mich zurückschicken, um mich
anzumelden weil ich keinen Cookie sagte, ähm und es gibt eine Möglichkeit, die Cookies zu sehen. Wenn Sie zu gehen, um auf Chrome in der Datei,
um, um, Ansicht Entwickler,
Entwickler-Tools . Sie können dies im Grunde öffnen diese Helfer, und dann können wir gehen,
uh, uh, Ressource ist coole Schlüssel und klicken Sie auf Ihre Anwendung. Und das ist auch gegen beide. Ist da, Sir. Es gibt einige Cookies dort akzeptieren würde, aber sie sind nicht wirklich von unserer Anwendung. Sie sind eher wie Helfer-Dinge von From Cloud neun. Also werden wir in der Lage sein, zu verfolgen, wann der Keks da drin gesagt hat. Ähm, und der Name sollte ihren Namen haben. Also loggt sich die Straight ein, ähm, die mir meinen Status für eine Sekunde, und dann werden wir Jorge umwerben Atem Slogan machen. Und hier stimmt etwas nicht. Sehen Sie? Warum ist es Druck des Benutzernamens gleich wund, denke
ich. Dort umleiten. Ähm, es funktioniert nicht gut. Oh, wie
ich sehe, haben Sie eine Art von hier. Ähm, ich sollte antworten. Nicht Euro vier, sondern Umleitung. Also ist es eine Antwort machen. Leite dich um, Earl zur Arbeit. Und ich brauche ihren Namen hier nicht mehr zu benutzen, weil ich das rausgenommen habe. Also, das ist, ähm, sehen Sie das Willkommen. Er hat diesen Piloten nicht mehr. Das tut mir so leid. Ähm, so Antwort. Adler geben Antwort. Umleiten nach Europa zur Begrüßung. Und das sollte sein, das ist dein Workout. Also lass uns hier noch mal sehen. Um, also schätze ich, wenn der Weg zu sehen, sieht er hier, dass der Benutzername gesagt wurde, Sie sehen, wie Benutzername? Er sagte mit Jorge. Also lasst uns löschen, dass wir ein kleines X in die Leader-Sitzung drücken können. Und versuchen wir es noch einmal. Also benutze den Namen Jorge. Passwort Jorge. Kein Gewinn. Und jetzt funktioniert es. Also kam ich in die auf die Homepage und merke, dass wir keinen Schrägstrich Benutzernamen oder Schrägstrich haben. Willkommen Schrägstrich Jorge. Dies wird aus dem Cookie gelesen. Und wir können hier überprüfen, ob sie es hier kochen. Benutzername und Hure. Ähm, das funktioniert
also perfekt. Okay, also lassen Sie uns richtig, indem direkt die Abmeldefunktion
überschreiben und das Cookie sollte verschwinden, und wir sollten zurück auf die Anmeldeseite gesendet werden. Also mal sehen, hier, schau mal raus. Also hast du es nicht gefunden? Sehen Sie, warum ein stolzer Oh, ich vermisse draußen ein Körbchen. Da gehst du. Also pass auf. Perfekt. Nun, mal sehen, es gibt keinen Benutzernamen Cookie mehr. Also beginnen sie einen anderen, der sagt, ähm, Robert Logan, aber willkommen, Robert. Und nimm ihren Namen. Ist Robert hier? Okay, aber ich will nicht schreiben wie,wissen
Sie, wissen
Sie, schauen Sie hier manuell aus, also würde ich es lieber auf eine Vorlage setzen. Also der beste Weg für den Ruheplatz, das in zu setzen, ist auf der, ähm,
auf der tatsächlichen
Willkommensvorlage , , die hart wie Index ist. Und wir werden es auf die Ach setzen, wir werden hier etwas hinzufügen. Willkommen. Nützte ihren Namen und dann werden wir es umwickelt haben gleich Ihrer URL vier. Schauen Sie nach und wir melden uns ab. Nein, und perfekt. Also jetzt haben Sie den Euro für Log-out und loggen Sie sich aus Link dort. Und immer noch versucht es mit Robert. Robert. Also wissen Sie, ich habe meine längere Funktion, auf die ich zugreifen kann Der Benutzername ist da. Pass auf. Keine Cookies mehr für diesen Benutzer, so sieht wirklich gut aus.
41. Statische Ordner: Also eine Sache, die ich hinzufügen würde, ist ein kleiner Einheimischer, so dass , weißt
du es, weißt
du, ein wenig schöner aussieht. Und ich habe dieses Logo im Internet gefunden. Es handelt sich wie ein generisches Logo, Äh, und Sie können darauf auf Ah zugreifen, auf meinem Get Hub-Konto, das auf der in dieser Lektion verknüpft ist. Aber auf jeden Fall werde
ich das Bild speichern. Und ich sehe, waren Sie unter diesem Stop mein Logo. Und jetzt möchte ich das auf den Zeh übertragen. Die Anwendung hier. Also lassen Sie uns für alles erstellen, dass statische Dateien wie dieses Bild wir Ah erstellen möchten, was ein statisches Verzeichnis genannt wird und dass Verzeichnisse automatisch von flask
als ein erkannt werden , ähm wie die Vorlagen, wie ein Ort, an dem Sie im Grunde Dateien ablegen werden, die keine Python-Dateien, sondern Bilder sind. JavaScript, Dateien, CSS-Dateien, diese Art von Sache. Lassen Sie uns also einen Ordner erstellen, nennen Sie ihn statisch. Und jetzt werden wir das Logo zu diesem statischen Dateiordner hinzufügen. Und lasst uns dazu. Also müssen wir tun, ist ziehen Sie die Datei und legen Sie sie in den statischen Ordner,
sehen, wie es es es konvertiert, dass Dateien, die ich kann, ein wenig Barbaro mögen. Wir sind im Grunde erlaubt es Ihnen, diese Datei hochzuladen. So haben wir jetzt die AG Melo dort. Wenn Sie darauf klicken, Sie werden sehen, wie eine Vorschau hier, das ist ziemlich cool. Ähm, Sie können auch rezitieren und rotieren. Ähm, und, äh, sagen
wir, das ist der Einheimische. Also jetzt müssen wir es der Basisvorlage hinzufügen. Richtig? Weil wir zu gingen, gingen wir es überall erscheinen. Also lasst uns voran gehen und die Basis betreten. Und ich werde das rausnehmen und setzen, wenn ich es anrufe. Es ist ein I D.
Ich meine, ein Diff, das ich Logo gemacht habe. Und hier werden wir eine Hauptquelle setzen,
äh, äh, Equal und Notiz werden einen Euro dafür tun, aber ich werde statisches Komma setzen, und dann Dateiname gleich. Dies ist wie eine Konvention für ah, Kolben, die es uns erlaubt, ekstatisch,
äh,
Assets auf die Seite religiös zu laden äh, . Und ich möchte sagen, dass Acme Corp. ist wie dergleichen, der Hinweis, und ich werde Ah,
Höhe absetzen . Äh, 150 Pixel. Das war's. Also sehen Sie, ob ich irgendwelche Fehler habe. Sieht gut aus. Also, was wir hier tun, ist, dass wir eine statische, statische Datei bereitstellen. Das bedeutet, dass es keine Python-Datei ist, die auf einer Besitzerseite angezeigt wird. Also lasst uns die Seite neu laden. Perfekt. Es ist Ah, ich habe Bohne, die das in angenommener Art und Weise betrachten. Also, wenn ich es auf die richtige Größe setze, ist
das wie die tatsächliche Größe. Es sieht ein bisschen besser aus,
aber nur damit ihr besser lesen könnt, wenn ich es dort hinstelle. Es sieht ein bisschen besser aus, Eso wieder,
Jorge, Jorge, Jorge, loggen Sie sich in Perfect ein. Unsere Dateibilder erscheinen weiterhin dort, und so machen Sie statische Dateien auf Flask.
42. Sitzungen: Ok. Also, wie ich bereits erwähnt habe, verwenden
wir normalerweise keine Cookies. Ähm, für Anwendungen. Wegen der Probleme, die wir zuvor beschrieben, zum Beispiel, waren in der Lage zu sehen, Sie wissen, die Werte der Cookies direkt hier auf der Ressource ist aus, dass aus dieser
Webseite , Wo sind Sitzungen sicherer, da sie codiert sind. Ähm, es ist auch einfacher, Session-Reliever zu verwenden oder nicht. Dann, Cookie. Also lasst uns dieses Jahr auflisten, wir tun das, anstatt eine Antwort zu machen, werden
wir Sessions importieren. Nein, sind die Sitzungsbibliothek, und dann werden wir diese drei Dinge hier löschen, und wir werden die Sitzung loslegen, ihren Namen gleich
benutzen, um das
Antragsformular anfordern, Holen Sie sich ihren Namen, und dann werden wir eine,
ähm,
Umleitung für den Euro zurückgeben ähm, für, ähm, Welcome. Ähm, und dann beim Abmelden, damit wir,
ähm, ähm, total den Keks essen, werden
wir einfach oder in diesem Fall die Sitzung. Wir machen nur nicht Session Pop und über ihren Benutzernamen. Ähm, und, äh, und dann Mark,
wir sind am besten keiner hier,
und, und, ähm, endlich sind wir zurückgekehrt. Umleiten. Ah, du bist ein für die Protokollierung. Also, das ist so ziemlich es ein So können Sie sehen, dass es leichter liest. Sieht besser aus. Ähm, und versuchen wir es mal. Also schauen wir uns hier raus. Ähm, ich muss tatsächlich , manuell
löschen,weil dieses Lookout jetzt nach Sitzungen sucht
anstatt nach Cookies. Also lasst uns Jorge Jorge nochmal versuchen und unterdrückt. Loggen Sie sich ein. Und, ähm, wir müssen etwas anderes überprüfen, glaube
ich, weil wir die Sitzung nicht überprüfen. Wir überprüfen den Keks. Richtig? Also ist es nicht jetzt ist nicht die Gebühren, die ihr Name ist, ähm, Anfrage Cookies, bekommen Benutzernamen. Wir müssen folgendes tun. Ähm, Mann, es ist mit der Freigabe. Wir sagen nur, wenn der Benutzername ah, Zeichenfolge im Sitzungsobjekt, dann dann können
wir zurückkehren. Render-Vorlage. Benutzername entspricht Sitzung aus. Ah, nimm deinen Namen. Das ist so ziemlich es. Also, ähm, gehen
wir auf die Homepage. Und jetzt ist es Es ist ah, es sieht gut aus. Willkommen, Jorge. Sieh aus. Und wie Sie die Sitzung hier sehen
können , heißt
es , heißt
esSession, Session, und es sind nur eine Reihe von Charakteren, die wir nicht wirklich kennen. Weißt du was? Sie sind da, wo sie sind. Aber in diesem kodierten Ding, Stärke. Ähm, es ist eigentlich der Wert der Horti-Sache. Jorge,
Benutzername. Jorge, Wenn Sie sich also abmelden, sehen
Sie, dass diese Sitzung nicht mehr da ist. Dieser Versuch würde verletzt erreichen, und Richard und dann wieder und erfolgreich eingeloggt. Willkommen, Richard. Alles sieht gut aus. Die Sitzung ist eingestellt. Und, ähm, wenn ich die Seite neu lade, sollte
ich sehen, dass die Flash-Nachricht verschwindet. Sieht also gut aus, ähm, und viel sicherer. Wie ich schon sagte, er ist hier,
um zu benutzen ,
und , wir werden uns eine letzte Sache ansehen,
was ich dir verspreche, nämlich wie man einen guten geheimen Schlüssel generiert. Okay, also hier ist ein Trick zu generieren. Ah, sicherer geheimer Schlüssel. Und es ist wirklich einfach. Es gibt eine Funktion, die wir
von Python nutzen können . Ähm, und es heißt: Sind Sie zufällig? Damit wir diesen Generatorschlüssel machen können, gehen
wir zur Terminalsteuerung,
sehen, um den Server zu stoppen, und dann machen wir Python. Und hier tun Sie folgendes tun, importieren Sie os, und dann toe os Sie zufällig und dann 24 das ist wie 24 Bits auf. Du verstehst das, , sehr seltsam aussehend. Ähm, du weißt schon, Charakterliste. Und wenn du es noch einmal
triffst, bekommst du einen anderen. Aber auf jeden Fall, das ist ah,
gut, ähm, String, um uns als These ECR zu setzen, es Schlüssel für Ihre Python. Ich meine, für Ihre Wohnung Anwendung. Also kopieren Sie das einfach, ähm, und dann basiert hier, und das wird mein neuer geheimer Schlüssel sein. Also, wenn wir dort speichern, um, und versuchen C o, müssen
wir, wie, den Server wieder laufen
lassen, also denke ich, es wird warum sein? Und wir werden es wieder tun. Jorge, Jorge, kein Gewinn perfekt. Funktioniert einwandfrei. Und es ist, ah, super sicherer geheimer Schlüssel, der für jemanden sehr schwer ist, zu gasen. Erinnerst du dich an den Trick? Ähm, und, äh, jetzt haben wir eine sicherere Anwendung.
43. Logger: in dieser Nebenstunde. Ich möchte mit Ihnen über Lagers sprechen, was unwichtig ist. Ähm, Komponente von allen Web-Entwicklern hat es genommen. Und, ähm, es ist immer nützlich, wissen zu können, was mit Ihrer Anwendung passiert. Wie das, was vor sich geht, besonders wenn Benutzer Fehler suchen oder sehen,
ist, dass wir Fehler protokollieren und, ähm, jede Art von wie,
ah, ah, auf erwartete Situationen, um Dateien zu protokollieren und dann als Ähm, Assad Anwendung ist Leben. Wir betrachten im Grunde diese Sperrdateien entweder auf dem Terminal, ähm, unsere Verwendung Es gibt viele gute Drittanbieter-Tools, um diesen Blick auch schnell zu betrachten. Aber hier ist eine kleine Einführung in, ähm, Logging und wie Sie es tun. Ähm, du meldest dich mit deiner Flats-Anwendung an. Also, was wir hier tun werden, werden
wir jedes Mal einloggen,
wenn es ein Problem gibt ,
mit dem falschen Benutzernamen und Passwort, die vom Benutzer eingegeben werden. Also, ähm, wir werden das im Grunde tun, wir werden Protokollierung importieren, was der Python Protokollierungsdienst ist. Und wir werden,
ähm,
den A-Handlernamens rotierender Dateihandler verwenden ähm,
den A-Handler . Rotierende 500 ermöglicht es Ihnen, den Speicherplatz Ihres Servers grundsätzlich nicht vollständig durch ah zu füllen wissen
Sie
, , automatisch Protokolldateien zu generieren, die,
wie,
Datumsstempel haben wie, . Und dann, wenn Sie in eine bestimmte Zahl außerhalb von Daten kommen, dann kopiert es automatisch das in ah ah ah ah, eine neue Datei und archiviert es als die nächste fortlaufende Nummer. Und dann so weiter. Und schließlich, die letzte, wissen
Sie, die älteste Datei aus liebt es wird es automatisch vom Server löschen. Aber, ähm, Sie können mehr über rotierende Spaß-Handler im Web lesen. Aber vorerst möchte
ich dir ansehen,
wie wir dieses Jahr machen. Also, Also, was wir tun werden, ist, dass wir einen,
ähm, wir werden einen Fehler einführen, ähm, länger hier. Also haben wir diesen Bereich Ruhm und sogar ein Passwort, das wir jetzt benutzen, ähm, das Apsis Lager. Und wir tun es mit einem Blogger. Diese Warnung. So warnend. Es gibt verschiedene Ebenen aus dem Interesse für die für die Protokolle. Und dann können Sie wählen,
um, ähm Sie wissen, welche Ebene Sie in der Datei speichern möchten, so dass Sie es tun können, wissen
Sie, von der Warnung über die Luft bis hin zu tatsächlichen Fehlern oder von Informationen usw. So können Sie verschiedene Arten von Einträgen und Anfragen haben, und dann Passwort ist kein wie eine super schwere Luft, so werden wir es eine Warnung nennen. Also hier, wir werden die Zehe in die Akte gerettet. Falsch. Ah, benutzen Sie ihren Namen und ihr Passwort für Sie, Sir. Und dann drucken wir den Benutzernamen aus. Also haben wir das in der Akte, und wir werden,
ähm, um, das Formular zu beantragen. Lassen Sie sich nicht ihren Namen uns benutzen, weil das Prozent s, äh String. Okay, das ist es so ziemlich. Ach, also haben wir hier keine Luft. Oh, es ist falsch. Oh, ich, ähm ja, ich mache ein doppeltes Gericht von Anfang an und eine Qualität. Und da müssen Sie,
ähm, und wir müssen die Protokollierung
einrichten, wie, im Namen Haupt hier Abschnitt eingerichtet. Also werden wir es hinter dem geheimen Schlüssel setzen. Und lasst uns kommentieren, dass die US-Protokollierung so dass wir einen Abschnitt dort haben, so dass der Handler gleich dem rotierenden Dateihandler ist. Wir werden die Datei Fehler Lug nennen, und wir werden die maximale Menge an Bytes pro Datei wird 10.000 sein. Und wir werden nur, ähm, Zehe eine Akte
sichern. Und danach ist
es irgendwie wie gelöscht. Also behalten wir zwei Dateien höchstens eins. Das ist das offene Feuer auf dem Rücken. Ähm, Sie können mehr darüber lesen, welche Parameter Sie hier setzen können. Und wie ich schon sagte,
wir werden dieses Level machen, das wir setzen werden,
was
die grundlegendste ist. Und wie ich schon sagte, wir werden dieses Level machen, das wir setzen werden,
was
die grundlegendste ist ,
was Also hätten wir im Grunde alles verloren. Und schließlich, um dies zu ermöglichen, können wir einen längeren Punkt bei Handler und dann Handler addieren, was wir diesen lebensfähigen Bereich definieren. Das war's also. Ähm, es wird auf dem Stammordner speichern, ähm ,
auf der Flasche, in der Ebene, werden
wir eine Fehlerprotokolldatei sehen. Steh auf und erinnere dich, Sehr. Wenn du benutzt, hol dich. Sollte ich diese Akte ignorieren, weil Sie das nicht in Ihrem Bericht haben sollten. Also Land Flucht, um zu sehen, ob es irgendwelche Fehler
gibt, es gibt keine. Also, was wir hier tun werden, werden
wir aufpassen, dass wir einen Fehler erstellen werden, also machen wir Jorge Ah, 12345 Welches ist das falsche Passwort? Protokollierung. Ok. Falsch. Verwenden Sie Ram Passwort, bis es aussieht, als wäre nichts passiert. Aber wenn ich hier jetzt sehe, sehe
ich eine Fehlerprotokolldatei. Ziemlich interessant, was? Und wenn ich so aussehe, wie ich es sage, ermutigt einen Botschafter für Sie, Sir Jorge. Wie Sie sehen können, können
sehr nützliche Dinge wie Sie in verschiedenen Teilen Ihrer Anwendung einloggen
, so dass Ihre Art von Abnutzung, wenn die Dinge zusammenbrechen. Ähm, und das ist zusätzlich zum Tortentelefon, wie Stack-Trace-Fehler, die diejenigen sind wie die 500 Fehler. Welcher Arm oder sieben Jahre gekauft? Ähm, zwischen den beiden, denke
ich, das kannst du. Sie können eine ziemlich gute Vorstellung davon haben, was mit Ihrer Anwendung passiert.
44. User: perfekt. So haben wir unsere Benutzertabelle innerhalb der Datenbank erstellt. Meine Flasche App. Also, jetzt verwenden wir, ähm, oder fügen Sie die erste Zeile dafür, ähm, für diese Tabelle. Und so werde ich es mit,
ähm,
mit meinem eigenen Benutzernamen verwenden ähm, , und Sie können es mit Ihrem tun, damit Sie in Yusor einfügen können, was die Tabelle ist, in die wir einfügen möchten. Und dann setzen Sie Werte und wir werden jeden dieser Werte für die Felder setzen, wie Benutzer I d Benutzername und Passwort. Weil der Benutzer diese meine saubere belastende sind. Sie setzen nur Zitat,
Zitat, weil wir nicht wollen, um die tatsächliche Nummer übergeben, wir könnten die Nummer übergeben, aber dann würde es zu mögen führen, wir müssten überprüfen. Was ist die nächste Nummer? All das, das ganze Zeug. Also habe ich nur ein Zitat gesetzt, und wir werden Ach, wir werden Jorge setzen, was der Benutzername ist, richtig? Und schließlich muss
ich Jorge Jorge nicht als Frauenpass benutzen. Also werde ich ein sehr albern erstellen und dieses Passwort nie für Ihre eigenen Anwendungen verwendet. 12345 eso Das ist der Benutzer i d der Benutzername und das Passwort. Beenden Sie also die Klammer und sagen Sie,
Michael, Michael, drücken Sie die Eingabetaste und es steht Abfrage. Okay, eine Reihe betroffen. Das ist Ah, das ist gut. Wie sehen wir also, ob dieser Datensatz gespeichert wurde? Wir machen nur eine Auswahl Aussagen. Elect ist im Grunde, wie eine wie eine Abfrage oder ein Filter. Ähm, und Sie können den Freund wie Bedingungen an ihn weitergeben. Aber im Moment werden
wir nur, ähm, zeigen alle Aufzeichnungen, die in diesem Fall nur eine sind. Also wählen Sie einen Stern aus Ah, , Sir? Nein. Und Semikolon und geben. Sehen Sie, wie es aussieht wie eine Excel-Datei. Also haben wir den Benutzer. Ich sehe, wie es automatisch warnt. Ah benutzte ihren Namen, den Benutzernamen und das Passwort. Das ist also perfekt. Wir haben die Ach, die Straße dorthin. Also, jetzt werden wir das mit unserer Kolbenanwendung verdrahten. Also lasst uns x von meiner Fortsetzung verlassen. Sie können ah tun, kontrollieren Sie die ich glaube, oder Sie können Ausgang und dann Klammern setzen. Auszubildende. Ähm, Semikolon. Also, äh, ich denke, Sie brauchen nicht, um die Prentice zu setzen. Da gehst du. , Und lassen Sie mich sehen,ob ich das mit Kontrolle machen kann. Dias? Nun, ja. Kontrollierte Ive Wörter waren beide Python und meine Fortsetzung fragte das Ende. Okay, perfekt. Also jetzt erinnere dich, wie wir,
ähm Anforderungen Txt hatten . Und ich werde nur Vieh, an das du dich erinnerst. Also haben wir bisher Kolben. Und durch meine Fortsetzung, also zwei Zeilen. Um so, damit wir die nach meiner Fortsetzung installieren können, können
wir grundsätzlich die ganze Datei installieren, indem wir den folgenden Befehl ausführen. Pip, installieren Sie unsere niederländischen unsere Anforderungen. Was das tun wird, ist, dass es, ähm, gucken, gestohlen oder verpackt von einer Verpackung all die verschiedenen Bibliotheken gestohlen hat, die Sie in diesem Fall Kolben und nach meiner Fortsetzung aufgelistet
haben . Aber da Blitze bereits installiert sind, wird
es nichts tun. Es wird angenommen, wie überspringen. Ähm, also wird es effektiv nur durch meine Fortsetzung installieren. So konnte immer noch das und sehen, was passiert. Perfekt. So heißt es, wissen
Sie, Anforderungen bereits erfüllt für Kolben. Und es ist erfolgreich, wissen
Sie, heruntergeladen und installiert von meiner Fortsetzung. Also, jetzt, nach meiner Fortsetzung ist im Grunde die Bibliothek, die uns den meinen Fortsetzungsserver aus
unserer Flask-Anwendung sprechen lässt. Okay, also lasst uns, ähm ,
das ,
das, äh, mich minimieren oder also lasst uns,
ähm,
das, äh,
mich minimieren oder
das Fenster minimieren. Und, ähm, es ist klar, dass das hier ist. Also nochmal,
wenn du die Anforderungen sehen willst,
dasExtrem, das aussieht, als hätten wir bei meiner Fortsetzung abgefüllt. Also nochmal, wenn du die Anforderungen sehen willst,
das Also lasst uns das schließen. Ähm, wir werden jetzt einfach die Hallo P y Anwendung machen. Also kontrolliere Flucht. Also sehen wir das ganze Terminal eso Jetzt haben wir auf hallo, P warum? Wir müssen nach meiner Fortsetzung importieren. Und das machen wir durch meine Fortsetzung hier ganz oben. , Und jetzt ist der Vater,
den wir mögen müssen, der Wert,
Logan,
denn das ist, wo wir die Überprüfung durchführen,
richtig? Und jetzt ist der Vater,
den wir mögen müssen, der Wert,
Logan, Logan, denn das ist, wo wir die Überprüfung durchführen, Es macht also keinen Sinn zu überprüfen, ob Ihr Nachname mit Passwort übereinstimmt. Weil wir das nicht tun. Wir werden tatsächlich in die Datenbank gehen und sehen, ob sie ihren Namen und das Passwort verwendet
haben . Dann,
ähm, dann werden wir das zurück in die Anwendung mit einem true drehen und wenn es nicht übereinstimmt, dann werden wir eine falsche zurückgeben. Also, was machen wir hier? Wir werden dieses Licht ausschalten und wir werden das nennen, wenn Daten dann wahr sind. Els Rückkehr fällt. Aber was ist das? Daten? Wir fangen an, das hier zu machen. Also werde ich hier nur einen Commit einen Kommentar setzen, das ist, dass meine Fortsetzung, Block. Also müssen wir eine
Nummer von Constance definieren . Der eine ist meine Fortsetzung, die seines Gastgebers. Und das wirst du genau so tun müssen, wie ich hier tippe. Wenn du es mit deinem eigenen Server machst, waren deine eigene,
ähm,
lokale Installation von meiner Fortsetzung. Wenn du es mit deinem eigenen Server machst, waren deine eigene, ähm, , Diese Zahlen könnten sich ändern. Und Sie müssen folgen, was auch immer Tutorial oder, Sie wissen, helfen Foul Sie verwenden. Ich werde das nicht unterstützen können,
aber, ähm, ähm, es ist nicht so kompliziert. Ähm, und, äh, du solltest das besorgen. Holen Sie sich einige Ideen aus diesem Video. Also sind die Schläuche, die das lokale Licht der Datenbankbenutzer ist, ähm, in meinen Fällen von Syrien zu Ihnen. Also denken Sie daran, wie, als wir das Terminal hier hatten, wo es heißt, , es gab einen Benutzernamen, der diesen Produzenten hier erstellt hat, der die Verwendung ist, oder Sie werden verwenden, dass dies mein geheimer Datenbankbenutzer hier ist. Okay, also stellen Sie sicher, wenn Sie eine Datenbank erstellen, um das zu notieren, dann werden wir Ah benutzen, meine Fortsetzung, die ein Passwort haben. Und wir haben es gewusst, weil durch den vollen Club neun kein Passwort erstellt, und Sie können Ihren eigenen Pass erstellen. Aber es ist nicht wirklich erforderlich, weil es nur für Entwicklungszwecke ist. Niemand sonst wird das benutzen. Sie haben einen Platz, den Sie nicht definitiv auslegen konnten, und Sie können auf der Wende nachschauen und wie das zu tun ist. Endlich müssen
wir der Datenbank B übergeben,
das ist, äh, wie Sie sich an meine Flasche erinnern. Das nennen wir die Datenbank. Als wir das erschaffen haben, vermische
ich mich hier, richtig? Uh, und wir sind hier fast fertig. Jetzt wissen wir, dass wir eine Verbindung zur Datenbank mit
diesen Konstanten einrichten müssen. Also werden wir es mit meiner einzigen Verbindung tun, und so werden wir sagen, Host entspricht meiner Fortsetzung Datenbanken Host,
ähm, Sie, Sir, äh, äh, entsprechen meinem Nachfolge-Datenbankbenutzer. Passwort ist meine Fortsetzung. Datenbankkennwort. Ich weiß, dass ich frühere WD benutze. So ist die Saite. Ich meine, die Abteilung oder wird angerufen und dann ist DV endlich meine Fortsetzung, die eines Stevie. Okay, jetzt müssen wir einen Cursor erstellen
, der im Grunde wie ein Zeiger ist, der uns erlaubt, nach Dingen zu suchen und Operationen mit Datenbank durchzuführen. Okay. Und wir werden es tun und hinrichten. Wir werden einen Befehl aus meiner Fortsetzung ausführen , ,
indem wir dies tun,
um, Methode
ausführen äh, . Und was werden wir hier hinrichten? Wir müssen im Grunde wählen, die sich erinnern, dass ich Ihnen gesagt habe, wie ein Fichter-Select-Stern war, dem ältere Felder für diese Rolle von Ihnen ausgewählt werden,
Sir,
wo ihr Name gleich ist ,
Sir, . Und es gab keinen Bus. Eine Zeichenfolge hier und Passwort entspricht einer anderen Zeichenfolge. Jetzt werden wir am besten in Ordnung, und ,
ähm, so Prozent hier, damit wir den Ersatz machen können und wir sagen, äh, benutzen ihren Namen und schnell, die sind diejenigen, die werden hier oben auf der Funktion übergeben, die Sie mit einem Passwort
sehen können. Es sind die gleichen hier. Also, da gehst du. Also dieser Befehl sagt, wählen Sie eine Zeile, die, äh, aus der Tabelle Benutzer, wo der Benutzername gleich ist, was auch immer Jorge und der Pass ist, was ich vergangenes Jahr, wissen
Sie, 12345 ist eine korrekte Eins. Aber wir werden sowohl mit der richtigen als auch mit der Untersuchung spielen. Und schließlich müssen
wir die Ergebnisse vom Server zu unserer Anwendung zurückbringen. Und die Art und Weise, wie wir das tun, ist, indem wir Fluch sagen oder einen holen und sicher. Es ist, wenn wir es immer getan haben. Wir rennen nicht auf die Art und Weise. Ich meine die Anwendung noch, also ist das ziemlich. Das sieht am Anfang sehr lustig aus. Und um ehrlich zu sein, ist
es nicht. Das ist nicht die Art und Weise, wie Sie die fortschrittlichste Anwendung machen werden, an der wir im nächsten Abschnitt
arbeiten werden . Aber das gibt dir eine Idee, was los ist, was im Hintergrund passiert. Und es gibt immer eine Art wie einige Einstellungen, ob es eine Vase gibt, Cursor, den Sie starten müssen, und dann einen Befehl, um die Informationen zu holen, die Sie benötigen. Also lassen Sie uns das versuchen und sehen, wie es funktioniert. Also lasst uns unser Server, ähm so Python Hallo P y. Nun, Anwälte. Das ist gut. So perfekt. Gehen wir also zur Anmeldeseite. Oder besser gesagt, die Homepage Es re sendet uns oder Weiterleitungen ist, um sich einzuloggen. Also, jetzt werden wir Jorge Jorge benutzen, was der falsche ist. Denn denken Sie daran, dass
wir diese Platte mit Jorge eingefügt haben. 12345, und drücken Sie Logan. Wow. Anfragen in und Reisepass. Das ist fantastisch. Das bedeutet, dass, ähm und es ist lustig, ob es auch die Protokollierung hier druckt. Wie Sie sehen können, , bedeutet
das,dass es mit der Datenbank verbunden ist und ging, um,
äh,
oder eine Suche zu holen äh, . Entschuldigung. Die Suche auf, ähm, von Ihnen, Sir. Tabelle, in der Benutzername Jorge ist und übergeben Sorgen Jorge. Und die Daten waren leer. Es gab keinen Treffer, so dass,
äh im Grunde, dass Beta falsch zurückgegeben wurde. Und dann ging das in diesen Block. Wo? Anfragen in der Vergangenheit. Wo ist eingestellt? Also lasst uns mit dem richtigen schreiben. Jorge. 12345 Und so akzeptiere. Wirklich geliebt in. Ehrfürchtig. Das ist so toll. Ähm, das bedeutet, dass wir den von Ace Server richtig eingerichtet haben, der Zehe a an
unsere Anwendung kommuniziert und endlich näher an das herankamen, wie eine echte Anwendung aussieht, die einen Ah,
Benutzernamen hat und Passwort-Tabelle oder eine Benutzertabelle, die wir treffen und Antworten erhalten und in der
Lage sein, zu sehen, ob es der richtige Benutzername und Passwort ist. Also noch einmal, fantastischer Job und der nächste Abschnitt wird das im Grunde auf die nächste Ebene bringen. Es wird erstaunlich sein. Aber jetzt, Sie wissen schon, lehnen Sie sich zurück, entspannen
Siesich und Freude und Sie feiern Sie ein wenig, was Sie bisher bekommen haben. Ah, im Kurs, und wir sehen uns im nächsten Abschnitt, um unsere Rial Life Blogging-Anwendung zu starten.
45. Einführung Mysql: Ich möchte Ihnen gratulieren, weil Sie einen langen Weg gegangen sind. Wir haben schon eine Menge Zeug von Kolben gesehen. Also, weißt
du, du solltest dich stolz fühlen. Um, dass Sie zu diesem Punkt gekommen sind, haben
wir eine ziemlich anständige,
ähm, ähm, Protokollierungsanwendung und, wissen
Sie, sich abmelden. Diese sind sehr grundlegend. Ähm, Blog ist für die Erstellung einer Anwendung, also, weißt
du, du solltest Ah, definitiv, ähm, stolz auf dich sein. , Und wir sind bereit,den letzten Schritt in diesem Abschnitt zu machen. Und das ist endlich,
ähm,
im Grunde Datenbank einzuführen ähm, . Ich dachte, ich wäre Bestandteil unserer Protokollierung sind Logging App. Also, ähm, eine Sache, die wir von Anfang an benötigen, ist, dass wir ein Paket
installieren müssen . Ähm, und dieses Paket wird von meiner Fortsetzung aufgerufen. Also, um, wir das tun , werden
wir, weißt
du
, eine
neue Bibliothek klauen müssen. Und, ähm, ich mag die älteren im Grunde alle Bibliotheken, die Sie, die Ihre Anwendung
benötigt, in einem Follikel Anforderungen behalten . Txt. Also lassen Sie uns diese Datei und in einer neuen Datei erstellen. Also werden wir es Anforderungen txt nennen. Und, ähm, es ist bewegt. Sie sagten, es wird hier sein und was wir bisher installiert haben, es ist Flash. Also sollten wir Kolben da reinlegen
und, ähm, und wir werden diese neue Bibliothek haben,
um,
nach meiner Fortsetzung genannt um, . Also durch mein C. Also lasst uns das retten. Und, ähm, jetzt werden wir ein paar Befehle auf dem Terminal machen, also
lasst uns das maximieren. Und mal sehen, was wir hier tun müssen. Okay, verlassen
wir, ähm, vom, ähm vom Server. Und so wie Cloud neun meine Fortsetzung verwendet, ist
es bereits integriert. Das ist also ziemlich gut, wenn wir das auf deinem eigenen Laptop oder PC machen
, , musst
du mein Geheimnis installieren. An diesem Punkt. Das werde ich nicht decken, Ähm, und ich kann es nicht unterstützen. Also empfehle ich, dass Sie sich einige Tutorials im Web ansehen, wie Sie meine
Fortsetzung installieren . Aber auf jeden Fall, ah, hier in der Wolke neun. Ein Teil der Gründe, warum ich diese Umgebung gewählt habe, ist, dass es bereits meine Fortsetzung Gebäude hat , Also das ist eine gute Sache. Also mach dir keine Sorgen, mein Geheimnis zu installieren. Es ist bereits hier, aber wir müssen zuerst den Server starten,
und die Art, wie Sie das tun, ist, dass Sie meine Fortsetzung, CTL, die Kontrolle Start ist, und Sie werden sehen, dass es sagt, dass es meine Fortsetzung beleidigt. Es beginnt wieder, sucht nach Tabellen und jetzt haben wir,
ah, ah, root user aus Syrien, die U und A Datenbank, die für uns erstellt wurde. Also beginnt es zu meinem Fortsetzungsserver, und es ist perfekt gemacht. Das sieht aus, alles sieht aus, sieht gut aus. Jetzt, wo wir mein Geheimnis laufen, wie interagieren Sie damit? Nun, es gibt zwei Möglichkeiten, wie man durch die Anwendung und durch die Bibliothek geht, die wir durch meine Fortsetzung
installiert haben. Aber, wissen
Sie, Sie wollen einige erste Einrichtung machen,
und die Art, das zu tun, ist meine Fortsetzung hat ein eigenes Terminal. Also denke darüber nach, ich sage,
irgendwie, als ob wir ein Terminal innerhalb des Terminals betreten, und dieses Terminal wird als meine Fortsetzung Kommandozeilenschnittstelle bezeichnet. Und was wir jetzt tun werden, ist, dass wir unsere erste ah-Datenbank und unsere erste
Tabelle erstellen . Stellen Sie sich also eine Datenbank als Sammlung vor. Off-Tabellen und Tabellen sind im Grunde Zeilen und Spalten und mehr oder weniger wie eine Excel-Datei, wenn Sie nicht Excel, um, wo Sie,
wie,
auf den Spalten haben wie, , haben
Sie die Felder, wie Benutzername Passwort, wissen
Sie, Datum aus Registrierung, diese Art von Sache. Und dann sind die Rollen wie die tatsächliche Art von, wie Daten. Also werden wir eine ah,
du Zimt-Passwort-Tabelle erstellen , ähm, genannt Benutzer. Und wir werden im Grunde unsere Benutzer darin in der Tabelle speichern. Wie kommen wir in die Befehlszeile meiner Fortsetzung? Lassen Sie mich den Bildschirm löschen? Also haben wir ein klares, dass wir meine Fortsetzungskontrolle durchführen, genau wie wir es vorher getan haben. Und du tippst c l I und wir verschwinden. Weißt du, meine Fortsetzung. Willkommen. Das ist fantastisch. Ähm, jetzt werden wir im Grunde unsere erste Datenbank erstellen. Es stellt sich also heraus, dass meine Fortsetzung bereits einige Datenbanken enthält. Die Art und Weise, wie Sie sehen können, ist, dass Sie Datenbasis zeigen. Und eine Sache, die Sie bemerken werden, dass Sie wahrscheinlich vergessen werden, weil wir keine
Semikolons auf Python verwenden . Ist das jedes Ende des Befehls, das du in meine Fortsetzung tippst? Du hast uns in meine Kolumne gesteckt. Wenn du den Semikolon nicht setzst, wird
es dich in einer Presse mögen und meine geheimen Dinge, die du immer noch wie ein mehrzeiliger Befehl
schreibst. Stellen Sie also sicher, dass Sie das Semikolon am Ende setzen. Also, wenn ich das eine Basis zeige, sehe
ich alle Datenbanken. Und wie Sie sehen können, gibt es hier einen C 91. Das ist diejenige, die Wolke neun für uns geschaffen hat. Wir werden es nicht benutzen,
aber es ist nur so, als würde es die Dinge leichter machen. Anderes Informationsschema, Leistungsschema und mein Geheimnis, die interne Fahrraddatenbanken sind. Also müssen Sie sich keine Sorgen über diese Benachrichtigung machen, dass ich Kappen für Zeigen Sie, dass eine Basis verwendet habe weil es eine gute Praxis ist, zwischen meinen Sichelbefehlen und Variablen zu unterscheiden,
indem Sie, ähm, äh, Weißt du, Kappen für meine Siegel Befehle und, ähm, und niedrige Caps für die Bibeln oder Tabellennamen oder so etwas. Perfekt. Also lasst uns über die Datenbank erstellen, die wir verwenden werden. Dafür verwenden
wir den Befehl Create database, und wir werden es meine auf der Punkteflasche in der Punkte-App nennen. Und denken Sie daran, dass meine Kälte sagen. Richtig? Perfekt. Wie sehe ich, dass es geschaffen wurde? Nun,
ich kann Pfeil nach oben machen, um in den vorherigen Befehlen zurückzukehren, zu den Show-Datenbanken zu
gehen, und wenn ich die Eingabetaste gedrückt
habe, werde ich sehen, dass meine Flask-OP jetzt da drin ist, so dass das wirklich gut funktioniert hat, Okay, also denken Sie daran, dass ich Ihnen gesagt habe, dass Datenbanken Sammlungen von Tabellen sind, also können wir tatsächlich nichts in dieser Datenbank speichern. Wir müssen eine Tabelle innerhalb der Datenbank erstellen. Aber bevor wir etwas mit dieser Datenbank tun, ist
es nützlich, einfach,
um, um, geben Sie es sah aus, als würde man in die Datenbank kommen gefragt, wie es erhöht, werden wir verwenden, um
Dinge hinzuzufügen . Dafür kamen
wir mal und benutzten meinen Kolben bis kamen
wir mal und benutzten meinen Kolben bis
Semikolon. Und jetzt sehen Sie, dass es ein Zustand des Austausches ist. OK, jetzt bedeutet es, dass meine Wohnungen die Dynamik kopieren, in der ich bin und wo ich erstelle oder, weißt
du, irgendwie mit Kommentaren beeinflussen, die ich folge. Also lassen Sie uns die Tabelle erstellen. Wir verwenden nur ein Benutzernamen-Passwort und wir werden einen Benutzer haben. Ich d das ist Ah oft sehen Sie dies in meinen Fortsetzungs-Datenbanken. Sie haben ein I d, dass. Es ist eine Zahl, die wie 1234 inkrementiert Es ist im Grunde wie die Zeilennummer. Und mein Geheimnis kümmert sich um das Inkrement von dieser Nummer automatisch für uns. Ähm, also werden wir einfach den Markt mögen, wie er gefragt wurde,... aber mal sehen, wie das gemacht wird. Toe erstellen Tabelle. Sie, Sir. Sehen Sie, wie es geht, Benutzer mit, äh, nicht in Großbuchstaben, weil es ah ist, es ist Ah, es ist eine Tabelle bedeuten, dann drücken Sie Klammern und dann geben Sie ein. , Beachten Sie,dass ich hier kein Semikolon mache, weil ich einen mehrzeiligen Befehl mache und
diesen kleinen Pfeil dort sehe . Das bedeutet, dass mein Geheimnis mehr Proben von uns erwartet. Das erste Feld wird also Benutzer sein. Ich, ähm, oft benutzen Leute und ich, wenn es eine Idee ist. Benutze einfach deine Autorität, wie ohne den Unterstrich. Ähm, aber ich werde es hier mit Unterstrich setzen, damit du, du, weißt
du, sofort merkst, dass das der Nutzen ist. Ein Rechtschaffener. Nach dem Feldnamenbrauchen
wir Zehe. Nach dem Feldnamen Sagen Sie es. Erzählen Sie mein Geheimnis. Welcher Typ aus Feld. Also werden wir das eine ganze Zahl nennen, weil es eine ganze Zahl ist 1234 und es kann
auf eine sehr hohe Zahl steigen . Also glaube ich nicht, dass wir es mir heimlich sagen müssen. Also ist es ein nicht wissen,
was bedeutet, dass wir dieses Feld nie haben können. Ähm, leer. Es muss einen Wert darin haben. Und wir werden endlich Auto-Inkrement sagen, was bedeutet, dass jedes Mal, wenn ich einen Datensatz einfüge, bitte erhöhen Sie diese Zahl auf die danach. Also nicht so meine Kolumne. Aber Koma treten ein. Und jetzt werden wir den Benutzernamen setzen, was der Benutzername vom Benutzer ist. Und das ist ein Typfeld var Zeichen aus 64 Zeichen. Der Benutzername darf also nicht mehr als 64 Zeichen enthalten, und er ist auch nicht bekannt. Ah, wir werden auch ein Passwort haben, das auch von unserem Zeichen aus 64 ist. Nicht wissen, und schließlich ist
es immer nützlich, einen Index für die Tabelle zu haben, so dass es, wissen
Sie, das Scannen schneller durchgeführt wird, und es ist ziemlich oft, dass der primäre Index benutze ein Recht, also sagen wir das meinem C-Primärschlüssel. Verwenden Sie eine Schreibpresse. Geben Sie Sam ein. Nein, nein. Semikolon oder Komma hier und jetzt schließen wir. erste Teil ist, ist aus dem Benutzer, und dann sagen wir, Michael Perfect. Okay, also schließlich, wie überprüfen wir, ob die Tabelle korrekt erstellt wurde? Wir haben eine Show Tabellen Befehl, so zeigen Tabellen zeigen die Tabellen auf Hat, dass ich Basis, die persönlich waren, an dem, in diesem Fall, ist mein Fleisch auf ihrem Ego. Jetzt sehen wir den Tisch. Yusor wurde dort geschaffen. Der nächste Schritt wird also sein, Datensatz in diese Tabelle zu erstellen, die wir verwenden werden und
das Benutzernamenpasswort für die Flask-Anwendung gefragt .
46. Anforderungen: Hi, alle. Ähm, das ist ein schnelles Update, das ich für alle machen muss, auch wenn du , Kurs zu
beginnen, oder du dem Kurs in dieser Einführungsstunde ein wenig voraus bist. Aber es gab einige Probleme oder Probleme, die Benutzer hatten, weil ich keine
Version für die Anforderungen verwendet hatte . Txt. Also bitte stellen Sie sicher, diese Versionen zu verwenden, wenn Sie sehen, dass ich gucken stahl Anforderungen und eine neue Bibliothek hinzufügen, Sie werden sehen, dass ich nur das erste Stück wie Kolben und durch meine Fortsetzung tippe. Aber stattdessen, ähm, wenn dir gesagt wird, das zu tun, ersetzen Sie das
einfach durch das. Die ganze Sache mit Abneigung und Sie werden viel,
viel weniger Probleme haben . Die Anforderungsdatei. Sie können auch aus dem Repository kopieren und einfügen, und ich werde diesen Link auf der Lektion setzen. So fröhlich codieren. Und, äh, weißt
du, ich stehe immer zur Verfügung, um dir bei Fragen zu helfen.
47. Lass uns mit unserem Blog beginnen: Okay, hier werden
wir unseren grundsätzlich neuen Abschnitt
damit beginnen, dass wir eine Flasche Blawg mit einer
datenbankgesteuerten Anwendung bauen werden, oder wir werden eine Menge Konzepte abdecken, die sehr wichtig sind für Sie wissen. Sie sind sehr grundlegende Dinge, die Sie für eine lange Zeit in Ihrer
Web-Entwicklung Karriere verwenden würden. Also ist es wichtig, dass Sie wirklich Notizen machen und Code entlang uns, während ich diese Übungen mache , denn das sind Dinge, wie ich sagte, die sind das Brot und Butter, wenn Sie so wollen, für Ihre Web-Entwicklung Karriere, So spannend Frühling. Wir werden hier, ähm, eine ziemlich komplexe Verpflichtung
aufbauen . Und, weißt
du, wie alles, was ich mit diesen Kursen mache, wird
es getan werden. Ah, die professionelle Art. Die Art und Weise
, die Sie tun würden, wenn Sie an einem der heißesten,wissen
Sie,
Start-ups hier in New York oder an anderen Orten arbeiten wissen
Sie, würden. Also, du weißt schon, setz dich fest. Und fangen wir an, ähm, diesen Abschnitt mit unserer Flask Blawg Anwendung. Also das erste, was ich hier
abdecken will, ist,
ähm, ähm, wir werden etwas benutzen, das eine Datenbank genannt wird, oder M oder M steht für
Objekt-Relational-Mapper . Und wir werden Sequel Alchemie verwenden. Ähm, und was oder M Ihnen erlaubt, ist im Grunde, ähm es ermöglicht Ihnen zu kommunizieren, reden, im Grunde eine Datenbank, ähm, mit einem objektorientierten ah, Darstellung der Daten. Also, zum Beispiel, wenn Sie eine sagen wir,
eine Benutzertabelle direkt auf meiner Fortsetzung haben , wie die, die wir in unserem vorherigen Abschnitt hatten, würden
Sie mit der verwendeten ihre Tabelle interagieren, indem Sie Instanzen aus einem Benutzer erstellen, ah, Klasse, das heißt, das ist fremd von dieser Benutzertabelle. Und dann würden Sie Dinge wie Sie haben, Sir, diesen Namen Benutzer, die E-Mail. Das wären also Eigenschaften dieses Objekts. Und Sie haben auch Methoden, auf die Sie zugreifen können. Zum Beispiel, Sie, Sir, dass, wissen
Sie, filtern und dann können Sie ah, wissen
Sie, Name gleich Jorge. Also würden Sie nur die Datensätze bekommen, die, ähm, Benutzertabelle, die einen Namen von Ihrem Kopf haben. Ähm, also mag es irgendwie. Es macht die Interaktion mit dem gehorcht wirklich einfach. Aber es ermöglicht Ihnen auch, nicht mit der niedrigeren Ebene Art von Abnutzung der
Datenbank umzugehen . Es ist ah ah ah. Ihnen automatisch zur Verfügung gestellt. Das ist also etwas, das es ein bisschen kompliziert klingt? Mach dir keine Sorgen. Du wirst es bekommen, sobald wir anfangen, die Übungen zu machen. Aber, ähm, aber definitiv werden Sie den Vorteil sehen, dass Sie mit einem oder M arbeiten und direkt erwerben, wie wir es im letzten Abschnitt getan haben. Ah, ein Cursor. Und er schwingen Aussagen und solche Dinge. Also wollte ich darüber reden und es irgendwie einführen, um Alchemie zu folgen, was ich sagen würde, dass einer der beliebtesten oder Ziele, dass das, ähm, die da draußen sind,
für Python. Also schauen wir uns das an. Ähm, dazu in dieser Lektion. Okay, warum beginnen wir nicht unsere Projekte? Also gehen wir hier in Wolke neun, und wenn du einen neuen Arbeitsbereich erstellst und wir das nennen, ähm, die Flasche Blawg. Also lasst uns Flask Bloggen hier setzen, und keine Notwendigkeit, eine Beschreibung zu machen. Stellen Sie sicher, dass Sie hier benutzerdefinierte verwenden, um, für die Vorlage, und erstellen
Sie dann Arbeitsbereich, wissen Sie, erstellt den Container, und wir sind bereit zu gehen. Perfekt. Ähm, ich werde ein paar Ach,
ein paar Einstellungen hier setzen . Ah, ich verstehe. Ich möchte die Schriftart ein wenig größer setzen, damit ihr Jungs bessere Benutzereinstellungen sehen und
24. Das sieht gut aus. Ok. Perfekt. Ja. Das sieht also gut aus. Ähm, jetzt gehe ich zu Das erste, was wir tun müssen, ist,
das eigentliche Verzeichnis zu erstellen , , in dem die Blawg sein wird. Also erinnere dich daran,
wie ich dir gesagt habe,dass du keine
Striche für den Namen aus,
das aus dem Projekt verwenden , Striche für den Namen aus, sollst. Also lassen Sie uns einen Ordner erstellen. Und dafür machen
wir es, ähm, machen es. Wir werden es Fläschchen auf der Partitur nennen. Gebloggt. Also ändern wir Verzeichnisse. Ähm, und, ähm, und noch einmal, denken Sie daran, das erste, was wir immer tun, wenn wir eines dieser Projekte gestartet haben oder wenn wir anfangen an ihnen zu
arbeiten,
ist, die virtuelle Umgebung. Also werde ich Ve Neid tun, was virtuelle Umgebung ist. Wir brauchen eine Python drei ausführen Kräuter. Du tust das also. Und wir werden das nennen, ähm v und B. Oh, tut mir leid. Virtuelle Umgebung hier über troll em. Ah, p Python-Baum Ven. Also das ist wir denken, dass Ihr Flash-Block-Verzeichnis perfekt ist. Es ist also die Installation des Executive-Kräuters für Kolben, und wir sind fertig. Und jetzt müssen wir aktivieren. So Quellvamp aktiviert und denken Sie daran, bevor Sie anfangen zu zitieren, müssen
Sie diese ve MB ah Sache am Anfang sehen. Andernfalls werden
Sie Pakete installieren und Dinge falsch an der falschen Stelle tun. Also werde ich voran gehen und anfangen, ähm, mit dem, ähm mit dem Blawg und im Grunde Ah, das erste, was ich tun will, ist, diese Anforderungen TXT-Datei zu erstellen, wo
wir die, um, die Pakete oder die Bibliotheken, die dieses Projekt benötigt. Also lasst uns das machen. Ähm, ich wollte das lesen lassen und das, weil ich denke, dass das von der
Standardinstallation stammt. Und denken Sie daran, das Paket oder die Anwendung ist dieses, nicht dieser Flash-Stecker auf der Oberseite. Diese Taschenlampe auf der Oberseite ist genau wie der Name aus dem Arbeitsbereich. Also werde ich weinen, klicken Sie dort, und ich werde eine neue Datei machen, und ich werde diese Anforderungen nennen, nicht Txt. Und dann scrollen wir das hier ein bisschen. Ach, damit wir mehr falsche Namen sehen. Okay, also doppelklicke ich dort und habe Anforderungen. Also natürlich, das erste Paket. Wir brauchen seine Flasche. Also, weil wir diese Hausflasche machen und wir werden neue Notwendigkeit durch meine Fortsetzung,
die ist der Connector, der
Fortsetzungs-Connector, den wir in der letzten Lektion verwendet haben. Und das ist das, äh, oder, von dem ich dir erzählt habe. Und wir werden eine Flask Dash Sequel Alchemy benutzen. Es gibt eine Fortsetzung, Alchemy Alone, wie eine Fortsetzung der Alchemy Library. Aber die Flasche, die Strich Fortsetzung Alchemie ist eng mit flach integriert. Also werden wir das benutzen. Und zu guter Letzt werden
wir etwas namens Flat Script benutzen und ich werde Ihnen etwas später erklären, was das für uns tut, aber hauptsächlich werden wir das nicht mehr telefonisch benutzen. Hallo, P-Draht. Python. Glücklich. Warum? Denn das ist kein Ah, weißt
du, sehr skalierbarer Weg, dies zu tun. Stattdessen werden
wir
etwas benutzen, um, um,was Python verwaltet B y genannt wird, was es uns erlaubt, wissen Sie, die Anwendung zu starten, das
zu tun. Ich Basisoperationen sind eine andere Sache, also ist es flexibler, aber wir werden das sehen, wenn wir damit anfangen zu arbeiten. Ok? Der nächste Schritt, den wir tun werden, ist, dass wir eine in ihm p y am Anfang der
Anwendung erstellen . Also neue Datei über diese Partitur in der Partitur auf dieser Art von Gericht Punkt b y und das in einem p y ist, wo wir etwas von dem Zeug, das wir auf die
Hauptanwendung im letzten Abschnitt gesetzt haben . Und mal sehen, wie das aussieht, wie wir von Kolben-Importkolben machen werden, richtig? Und dann werden wir dasselbe tun, ist eine Flask-Anwendungsinstanz mit dem Namen vorbei, und wir werden, ähm, also eine Sache, die wir anfangen werden,
ist , die Konfiguration der Anwendung aus einer anderen Datei aus einer Einstellungsdatei. Und das hat mit,
wie, wie, manchmal haben Sie verschiedene Einstellungen für, wenn Sie so sind, als ob Ihre Anwendung in der Produktion
läuft , anstatt wenn sie lokal hier oder auf Ihrem Laptop ausgeführt wird. Es ist also gut, es ist eine gute Sache, die Einstellungen in einer Datei zu trennen, die Sie verfolgen und
ändern können , um, Inversion für die verschiedenen Umgebungen. Ähm
, das war's fast. Eine Sache weniger. Also fangen wir an, die etwas Struktur darauf zu
setzen. Also werden wir hier tatsächlich einen neuen Ordner erstellen, und dieser Ordner wird zu Hause genannt. Und das wird irgendwie so sein, wo unsere Homepage
für den Block lebt. Und Sie werden anfangen zu sehen, dass wir anfangen werden, wie modulares Schreiben der verschiedenen Teile der Anwendung, und das macht viel Sinn. Es ist ah,
es ist der beste Weg,
um, ähm, Ihre Anwendung in verschiedenen Buckets
zu strukturieren, so dass, wissen
Sie, die Wartung und die Entwicklung der Verpflichtung einfacher ist. Wenn du alles in einem Ordner hättest,
wie alle P Y Dateien,
ist es irgendwie wie ein Albtraum, diese Anwendung zu pflegen. Wenn du alles in einem Ordner hättest, wie alle P Y Dateien, Also werden wir anfangen, die verschiedenen Komponenten oder die anderen zu trennen. Ah, es ist eine vertikale innerhalb Ihrer Anwendung in verschiedenen Ordnern, und diese Ordner werden Vorlagen haben. Wir werden Aussicht haben. Ähm, und so wirst du in der Lage sein, und so wirst du in der Lage sein,
deine Anwendung besser
zu pflegen. Also lassen Sie uns hier eine Ansicht erstellen, also werde ich eine neue Datei machen und sie wird Views B y heißen ,
und , was wir da reinlegen werden , ist
Das Folgende werden wir haben, ähm, also ist das etwas, das Sie in jeder Ansicht haben werden, die wir in dieser
Anwendung haben ? Ja. Und es sind Abneigungen von Flask Blogger. Und ich bemerkte, dass diese Flasche auf dem Partiturblock den gleichen Namen haben muss, von dem gefaltet
, den Sie dort erstellt haben. Deshalb brauchen wir keine Verstecke, die wir für ihre Partituren verwenden müssen. Eine App in diesem Fall ist diese App. Also, was dieses Futter Sprichwort ist, dass jede Pre-Y-Datei von Flash-Block importante bis
die App, App,die die Flask-Anwendung ist, und von diesem Punkt ankönnen
wir,
ähm,wir können auf können
wir,
ähm, diese App als die Flats Anwendung Fenster Routen. Also, in diesem Fall, wenn sie für den Home-Index Ah tun, für die für den Index oder Schrägstrich auf. Aber die meisten wollten hier Indizierung hinzufügen, nur für den Fall. Servieren Sie diese Index-Funktion und wir werden Hallo,
Welt zurückkehren . Damit wir wissen,
dass , wir überprüfen können,ob es funktioniert oder nicht. Das war's also. Die Datei wurde gespeichert. Und wir haben diese Torheit dort nicht gerettet, weil ich sehe, wie die kleinen Punkte ihre. Jetzt ist es gerettet. Okay, jetzt werden wir,
ähm, wir müssen diese Ansicht importieren, weil das ist, was,
ähm,
irgendwie,
wie von der Anwendung laufen wird ähm, irgendwie, . Also werde ich von zu Hause Importansichten zu tun haben. Okay, was das tut, ist, dass es nach Hause geht, und es wird die Views-Datei für alle importieren Dies ist wie der Controller, alle Funktionen für die Routen für dieses Modul werden hier wichtig sein. Nun, wenn wir einen Benutzerordner hier oder andere Arten von Inhalten oder Modulen haben, dann müssen wir sie in dieser Einheit B Y hinzufügen.
48. Die grundlegende Struktur: Okay, jetzt werden wir anfangen, uns die Einstellungsdatei anzusehen, und ah, es ist, wenn wir wirklich einfach,
ähm,
nichts vorher gesehen haben ähm, . Aber ich habe gesagt, wir werden es auf diese separate Datei setzen und dass Einstellungsdateien einen geheimen Schlüssel haben. Ähm, was dir schon beigebracht hat, wie Zehe einen neuen generieren. Aber im Moment, nur um es schnell zu machen, werde
ich einfach tun, dass Sie nie erraten werden. Und wir werden einen Debug gleich haben. Wahr. Also,
ähm, wir haben automatisches Nachladen, Ähm, und so etwas. Also okay, was kommt als nächstes? Wir müssen,
ähm,wir müssen jetzt diese Datei namens Mannix B y erstellen. Wir müssen,
ähm, wir müssen jetzt diese Datei namens Mannix B y erstellen. Sie werden tatsächlich rennen,
um ,
um Anwendung
zu starten und zu stoppen. Also lassen Sie uns diesen Ordner erstellen. Hat mich verwaltet. Warum? Und das erste, was wir hören wollten, ist, dass wir das Terminal minimieren wollten. Ähm, wir wollen im Grunde einen Zeiger auf diesen Ordner haben, und das ist etwas, das Sie online nachschlagen können. Ist es nicht wirklich. Ich meine, es ist eine kleine komplizierte Zeile, aber was es tut, ist im Grunde Alaus Python zu wissen, was der Ausgangspunkt von dieser ganzen Sache ist und in der Lage sein, dann andere Ordner zu finden, ähm, innerhalb der, um innerhalb dieser diese dis-Anwendung. Also im Grunde, was das sagt, ist wie, besorge mir
das ah, die Dateien aktuellen Speicherort und importiere oder kopiere den Python-Pfad, die Ebene darüber. , Es ist
also nicht wirklich so,als ob es sehr kompliziert aussieht, aber es ist nicht wirklich, ähm, so komplex. Es ist so, als ob es sehr seltsam aussieht. Also sechs Pfad nach oben, immer Pfad APS-Pfad und dann immer Pfad. Haben Sie hier einen Joint. Selbst ich habe Probleme, es richtig zu machen. Also, da gehst du. Also ihr Name aus Datei und dann vier Eltern ist es am Ende, so dass sie sehen oder
drei übereinstimmen ? Nein, es sind drei. Okay, perfekt. Ähm, dann werden wir vom Flask um e X t-Skript machen. Wir werden den Manager und Server importieren, und diese Manager
und Server sind im Grunde diejenigen, die es uns erlauben, Python auszuführen, blah, blah, blah, und laden oder dienen die Anwendung. Also, hier werden wir die App importieren, und das ist die von Unit B Y und wir werden instanzieren, dass sie einen Manager von dieser App gegessen hat. Okay, also jetzt, ähm, was wir mit dem Manager tun können, ist, dass wir Befehle importieren oder hinzufügen können, und es gibt verschiedene, ähm,
Methoden, die wir verwenden. Aber wir werden das anfangs benutzen, was der
falsche Serverbefehl ist was der
falsche Serverbefehl ist. Die Art und Weise, wie wir das tun, ist, dass wir Run Server definieren, und was das tut, ist, den Server mit den folgenden,
ähm,
Einstellungen zu starten ähm, . Also werden wir die Parkour Gruppen benutzen, den Parker gleich true
verwenden, freeloader
verwenden, damit, wenn ich den Code geändert habe, es automatisch neu geladen sagte, der Host wird auf diesem ist wie ein speziell wie wir sahen dies im letzten Abschnitt. Es ist für Wolke neun. Also werden wir das I p definieren und dann 000 setzen und dann wird der Port sein, dass ich die
ganze Zahl vom Betriebssystem bin . Holen Sie sich E M V Port und dann 5000. Okay, perfekt. Ich erhalte hier einen Fehler in der feinen Wearable App. Oh, von Flash aussehende gelangweilte App, es war nicht beim Anhängen. Okay, also jetzt, damit wir diese Anwendung ausführen
können, wird das vertraut klingen. Wenn Name gleich main, dann Manager Ron, was ein wenig anders ist. Also dieser Manager läuft, führt
im Grunde diesen Manager aus, und dann wird dieser Manager einen Befehl haben. Also sehen Sie, es ist ungültig in der Syntax, wenn Mittelwert gleich, doppelt gleich, richtig? Cool. Also haben wir es uns geschafft. Warum? Bereit? Und wir sind fast bereit, die erste Tell einer Welt zu führen. Okay, also lasst uns das versuchen. Ich habe Control entkommen, um das Terminal zu bringen. Und, ähm, oh, das erste, was wir tun, haben
wir nicht wirklich eine der Anforderungen Txt,
äh,
Bibliotheken installiert äh, . Also müssen wir das tun. Und die Art und Weise, dieses Problem zu tun, macht einen Peeping Stall. Das sind unsere Anforderungen. Txt. Und lassen Sie mich das maximieren, damit Sie die Ausgabe sehen können. Ähm, und im Grunde geht
es durch die Anforderungsdatei und fängt an, alle Bibliotheken herunterzuladen, die
da sind , Äh, wirklich schnell. Also, jetzt installiert, ähm, Kolben. Es installiert von meiner Fortsetzung Kolben, gleicher Alchemie, flachem Skript und einigen anderen Hilfsbibliotheken, die damit in Zusammenhang stehen. Also sollten wir eingestellt werden, ähm, vielleicht meinen Anfang bedeuten. Und jetzt, anstatt Python zu tun, wissen
Sie. Hallo, P-Draht. Was immer wir hatten. Jetzt haben wir ein verwaltetes B y , also verwalten wir mich. Warum? Round Server Perfect. Jetzt sieht es so aus, als würde es laufen. Es sagt, dass er 80 80 sein soll. , Denken Sie daran, Sie nicht darauf klicken, weil das nicht der Rial ist, ähm, Ihre l Worte laufen Sie müssen gehen, um zu teilen und dann klicken Sie auf die App, ähm, auf die auf der Anwendung Link, das ist die 2. 1 Also, wenn ich dort öffnen und da Sie gehen, wir haben hallo Welt. Das ist also die Replikation genau dort. Ähm und das bedeutet, dass es perfekt läuft mit dieser neuen Art von, weißt
du, dass wir das getan haben. weißt
du Nun, was ich an Daten mag undwas
Sie jetzt
schätzen sollten, was
Sie jetzt
schätzen sollten, ist, dass es sehr ein sehr modularer Ansatz ist. Wir werden nach Hause kommen. Wir werden Sie haben, meine Herren. Wir werden,
du weißt schon, Beiträge haben. Es wird sehr skalierbar sein. Und das ist die Art, wie professionelle Programmierer es tun. Ah, Sie können einem Profi von einer Art wie einem,
ähm Sie wissen,
beginnenden Entwickler erzählen ähm Sie wissen, . Wenn die, wenn sie nicht marginal steigen ihre Sachen, er nur werfen sie einfach alles in einen Ordner. Also werden wir diese Art von Struktur behalten. Denken Sie daran, wenn wir einen neuen Ordner mit einem neuen Modul erstellen, dann müssen wir,wissen
Sie, von zu wissen
Sie Hause aus oder aus welchen Importansichten. Ähm, aber das war's. Und danach Sie in der Lage, sind
Sie in der Lage,alle Ihre zu trennen, Sie sind,
was wir Modelle nennen , was wir ein wenig später sehen werden, die ältere Datenbank. Scheme uns dafür dafür, für die Tabelle oder für dieses Modul, usw. Also, ähm, du weißt schon, ich meine es ernst. Toe, sieh dir das an. Und, ähm, es gibt jetzt einen Link, hier auf der, ähm auf der Ressource ist, wo Sie diesen ganzen Code herunterladen können ,
um ,
umzu überprüfen, ob Sie eingegeben haben oder ob Sie irgendwelche Fehler, können Sie wissen
49. Das Author: Okay, also werden wir jetzt anfangen, an unserem Modell zu arbeiten und die Art und Weise, wie wir dies tun, ist,
wir definieren im Grunde eine Klasse, die das Autorenobjekt definieren würde. Und in diesem Fall es die Leute sein, die der Lage sein werden, Beiträge zu erstellen und den Block im Allgemeinen zu verwalten. Die Art und Weise, wie wir dies tun, ist, dass wir diese db-Klasse importieren müssen. Also denken Sie daran, wir hatten hier die b equals sequel alchemy app. Also werden wir das tun, ähm, indem wir folgendes tun. Also tun wir aus Kolben, Stecker, Import, BB. Und so haben wir die Fortsetzung. Alchemie. Ähm, im Grunde aktiviert ,
um dies tun zu können, demontieren für diesen Autor. Also, wie machen wir unser Modell? Ähm, also im Grunde, es ist eine Klasse. Wir werden uns vorstellen, dass der Autor eine,
äh,
eine äh, Instanz dieses Glases sein wird,
und Sie werden in der Lage sein, einen bestimmten Autor auszuwählen und dann in der Lage sein, dort ihre
Namen oder E-Mail zu sehen , usw. . Also fangen wir an, das zu tun, damit ihr Jungs sehen könnt, wie das aussieht. Also nehmen Sie ein Glas. Der Autor erinnert sich, Modell zu sein. Also das erste, was wir setzen werden. Ähm, ESA Eigenschaften I D und Ideen, die Sie aus dem letzten Abschnitt erinnern, sind im Grunde ein Geruch belastend. Ähm, ah. Zahl-Ganzzahl, die mit jedem neuen Datensatz erhöht wird. Also ist es das Gleiche hier. Also tun wir db die Spalte. Und, ah, im Grunde, eine Spalte ist eine dieser Eigenschaften dieser Tabelle, und hier definieren wir, welche Art von Spalte,
um, um, in diesem Fall ist
es eine ganze Zahl, so dass wir wäre ganzzahlig. Und wir werden auch sagen, dass dies der Primärschlüssel dafür für den Stall ist. Als nächstes erstellen
wir einen vollständigen Namen, äh, Spalte und diese wird eine Zeichenfolge sein, und wir können definieren, wie viele Zeichen. Also sagen wir, äh, wir werden 80 für den Namen wählen, dann für E-Mail. Wir werden noch eine Kolumne machen. Es wird auch ah sein, das ist Drink. Aber in diesem Fall wird 35 sein. Und Sie können auch passieren,
wenn der Colin einzigartig sein wird, und wir wollen nur einen Autor mit der gleichen E-Mail pro Tabelle, also wird das durchgesetzt. Wir werden einen Benutzernamen haben und in diesem Fall wird auch eine Zeichenkette von 80 sein. Und es ist auch einzigartig, dass wir nicht wollen Wir können nicht zwei verschiedene Benutzer mit dem gleichen
Benutzernamen nächstes Passwort haben , und das Passwort wird eine Zeichenfolge von 80. Und schließlich werden
wir eine Flagge haben, den Kreis Flachs, weil sie, wie, äh, umschalten oder so wie Einstellungen sind. Und es wird East Author heißen. Also, obwohl die Spalte oder die Tabelle eher sein Autor, wollen
wir in der Lage sein, Autoren zu setzen, die in der Lage sind, zu posten. Und, ähm, sind Autoren. Sie werden irgendwie nur sein,
ähm, sie können nur kommentieren. Also ist es irgendwie wie Augen, die diese Person ermöglicht, in diesen Block zu posten oder nicht. Und ich beschloss, das zu machen, ähm, eine Flagge und Flachs sind normalerweise Bulle. Ians Brillanz bedeutet, dass es entweder wahr oder falsch ist. So ist es auch. Der Autor wird auf „true“ gesetzt, wenn diese Person in der Lage ist,
um, ähm
, den Blogger zu posten, anstatt nur zu kommentieren oder oder, du weißt schon, zu
lesen. Das ist also das. Das ist unser Tisch da. Also, wenn die Fortsetzung Akemi läuft, ähm ,
Ah ,
in dieser Anwendung, ordnet
sie diese Spalten auf dem Tisch diesen Eigenschaften ab, vom Autor Arctic. Und wir werden es sehen. Weißt du, du wirst dir in Kürze ansehen,
wie das
in der Anwendung funktioniert du wirst dir in Kürze ansehen,
wie das
in der Anwendung funktioniert. Als nächstes müssen Sie ein darin definieren, was im Grunde passiert, wenn das Objekt zuerst definiert wird. Und wir wollen in der Lage sein, im Grunde zu erlauben, ,
ähm ,
Sie wissen, bestimmte Spalten übergeben müssen, die für uns erforderlich sind, um das zu erstellen entschieden. Also werden wir Ah haben, wir werden den vollständigen Namen brauchen,
ähm, ähm, e-Mail-Benutzernamen-Passwort, und ich werde durch die Falte gesetzt ist Autor ist falsch. Also, es sei denn, ich überschreibe das, wenn ich das Objekt zum ersten Mal oder ein Objekt ,
als das es uns passiert fällt. Also, dann rief ich selbst vollständigen Namen. Also in diesem Fall, dieser selbst alte Name ist dieser vollständige Name hier, und ich übergebe den vollständigen Namen. Das war, ähm, schnell. Wenn der, wenn das Objekt erstellt wird. Dieselbe Sache hier. Selbst-E-Mail entspricht E-Mail selbst. Benutzername ist gleich Benutzername. Selbst schnelles Wort entspricht Passwort. Und du wirst dieses,
ähm,
diese Art von Muster sehen ähm, , ähm, regelmäßig als,
ähm, wenn du mit geheimer Alchemie zu tun hast, weil es irgendwie ein guter Weg ist. zum Beispiel Wenn wirzum Beispielirgendwo hier ein Datum hatten, könnten
wir den Tag automatisch auf den heutigen Zustand einstellen. Und die heutige Zeit eso, dass dies in ihm Art aus wie Funktion ermöglicht es Ihnen, vor zu füllen und sicherzustellen, dass die Objekte erstellt den richtigen Weg, um diesen Tod in es zu erinnern,
wird nur aufgerufen werden, wenn Sie, wenn Sie, wenn Sie dies aufrufen, wenn Sie stattdessen, sie aß diese Klasse zum ersten Mal in einem neuen Objekt. Ähm, und es gibt eine andere Methode namens, um O R E b r zu reproduzieren, die es Ihnen im Grunde erlaubt,
ähm, wie wollen Sie das anzeigen, wenn Sie mit ihm interagieren, sagen wir, dem Terminal? Die
Art und Weise,
wie wir , diese Aufzeichnungen identifizieren wollen,ist, wir werden einfach sagen, Autor,
ähm, ähm, Personist,
was, ist,
was, ähm, und wann Sie haben gerade den Benutzernamen übergeben. Also, wenn wir auflisten oder wenn wir Objekte holen, wird
es sagen,
Oh, Oh, das ist der Rekord des Autors,
Sie wissen schon, Sie wissen schon, sagen armes Hey oder was auch immer die Verwendung eines Miss. Das sind also so ziemlich die Modelle. , Weißt
du,
das erste Mal, wenn du diesen Cisco siehst, ist ein bisschen nett. Irgendwie verwirrend, weil du nicht so bist, als hättest
dunicht gesehen, wie wir
mit diesen Objekten interagieren du , aber wir werden uns vertrauter machen, wenn wir weiter mit der Klasse arbeiten.
50. Einrichtung des ORM: Okay, also, ähm, wir müssen jetzt die Datenbank initialisieren, damit wir anfangen können,
ähm, im Grunde, ähm,
Modelle für verschiedene Modelle zu
erstellen ähm, . Und eine Sache, die ich tun wollte, A Also dachte ich mehr darüber nach, war, dieses
Home-Verzeichnis zu ändern und es Blawg umbenennen. Und der Grund ist, weil ich bin, dass wir das Modul für die Homepage stoppen müssen. Wir werden ein Modul für alles haben, was wirklich der Blawg ist, und eine Home-Funktion wäre in diesem Modul. Also werde ich diesen Umzug zum Kommen bringen, nach Hause
ziehen, weil Sie sehen können, dass wir dort bloggen, und wir haben die Ansichten, etc. Und wir müssen dies von Home-Importansichten ändern. Und, ähm und ich denke, das heißt, es ist Eve, der einen falschen Server läuft und hier neu geladen wird. Ja, also macht es Spaß. Perfekt. Also, jetzt müssen wir, wie, die Datenbank
einrichten, und das erste, was wir tun müssen, ist tatsächlich eine Datenbank für uns zu erstellen. Also, ähm, vom letzten Abschnitt, ich weiß nicht, ob du dich daran erinnerst, aber, ähm, weißt
du,
die, die, ähm, Wolke neun hat im Grunde schon eine gebaut in meinem Fortsetzungsserver, die nur Leverage schwächen. Ähm, und wir können anfangen, ähm, indem wir die Mäuse Equal City L, Abkürzung benutzen. Also die Art und Weise, wie wir angefangen haben, dass eine Vase hier ist, indem ich meine Fortsetzung CDL starte ich die eine Art von dort, also ist es nicht schön gleich, aber meine Single, richtig. Denk daran, diesen Verkehrsteilnehmer zu bemerken, denn wir werden ihn benutzen, und es wird für dich anders sein. Aber wenn wir einen Vollbildmodus dort machen, werden
Sie sehen, dass es meine Fortsetzung installiert. Ah, es hörte auf und fing dann an. Ähm, und dann ist es ah, es wurde dabei geschaffen. Jeder für uns rief c neun an. Obwohl wir es
technisch nicht benutzen werden. Also, ähm, aber mein Geheimnis ist schon da. Was wir also tun wollen, ist eine Datenbank zu erstellen, die wir verwenden können. Und wir werden das nennen,
ähm, ähm, dass ich die Blawg, die Bloke Datenbank basiert. Also machen wir einfach meine Fortsetzung, CTL Ah cli, die die Kommandozeilenschnittstelle ist. Perfekt. Also, wenn ich Datenbanken dort zeigen, sehe
ich, dass 1/2 c neun, das ist diejenige, die für uns erstellt wurde. Ah, Informationsschema meiner Paillettenleistung gegeben, die meine Fortsetzungs-Datenbanken sind. Also werden wir eine Datenbank erstellen, und dann machen wir einen Blawg. Perfekt. Also jetzt, ähm, jetzt haben wir eine solche Sekunde. Wenn es ist, wenn es erschaffen wird, und doch ist es drin, es ist da drin, also sollte es uns gut gehen. Also, jetzt kontrolliere ich den oder ich tippe exit Semikolon in der ersten Woche. Die 1. 1, die wir tun werden, ist gut, wir müssen das auf das Sparen sprechen setzen. Warum? Damit wir auf die Akte zugreifen können? Ähm, die Datenbank tut mir leid von der aus der Anwendung. Dafür müssen
wir hier ein paar Sachen hinzufügen. Eines ist, dass wir das Betriebssystem importieren müssen, und dann müssen wir folgen. Wir werden,
ähm,
db haben ähm, ihren Namen gleich. Und denken Sie daran,
dass ,
ähm, ,
ähm,die ihren Namen verwenden, den uns die Datenbank eingerichtet hat. Das ist die, wenn Sie in einem Putting sind ihre, dann müssen wir das Passwort sein. Du wirst das leer lassen und sie haben die Log-Datenbank. Name entspricht dem Protokoll, das wir gerade erstellt haben. Und dann wirst du passieren. Der Bienenwirt ist gleich o s Punkt Get E M V. Dies ist für, ähm, Wolke neun. Wenn Sie meine Fortsetzung lokal oder in einer Leinenmaschine oder einem anderen wie wenn Sie Docker
verwenden, dann wird das anders sein. Ähm, das hier ist sehr wichtig, um die Ansicht zu sein oder ich und du wirst genau das tun. Meine Fortsetzung. Plus von meiner Fortsetzung Sagen, mein Doppelpunkt Schrägstrich Prozent s und das ist Benutzername und Passwort am Hostnamen Schrägstrich der Tabellenname? Nein, das tut mir sehr leid. Prozent s und Prozent s und dann ersetzen wir diese all diese Dinge durch Devi Benutzername , ähm, D B Passwort, TV-Host und Blawg-Datenbanknamen. Ok. Und schließlich machen
wir Sequel Alchemy Datenbank. Du bist ich gleich, vielleicht hast du Recht. Also wirklich, die notwendige lebensfähig ist Fortsetzung Alchemie, die offensichtlich in Ordnung ist. Aber ich habe es wie Dinge ausgedrückt, weil es ist und er hier ist, um es einfach zu bearbeiten. Wenn Sie einen anderen Benutzernamen oder ein anderes Passwort haben, erstellen
wir die Zeichenfolge im Grunde auf eine nette,
wie, wie, sequentielle Weise, damit sie sehen können, wie das aussieht. Aber du könntest auch, wie, einfach alle diese ältesten Zeilen hier löschen und einfach Fortsetzung setzen, dass eine Single wie mich, die
dein Recht ist , meiner Fortsetzung plus Mike Fortsetzung entspricht und dann alle diese Strings durch die mit den verschiedenen Werten. Aber ich denke, es ist schöner, so sieht besser aus, lesbarer und Lesbarkeit ist immer wichtig. Okay, also jetzt müssen wir Ah Fortsetzung hinzufügen Sperren mich zu r N eine p y Datei. Und dafür werden wir das Folgende von Flask Dot e x Tedx Gedankensequel haben, Alchemy Import Fortsetzung, ich werde mich in Ordnung bringen und wir werden eine neue Amuse eine neue Flagge hinzufügen. Hier sind neue Eigenschaft, die wir von überall in der Anwendung
namens DB aufrufen können und die Basis nur eine Instanz aus Fortsetzung Alchemy mit der APP um, an sie übergeben. Also von diesem Punkt auf DB, Löcher sind unsere Datenbank. Also, was wir jetzt tun wollen, ist, um, erstellen Lassen Sie uns unser erstes, äh, richtig, das neue Anwendungsmodul erstellen, welches das Autoren-Modul ist. Und weißt du, dieses Blut wird Autoren haben, die wie sich einloggen werden. Wir werden da sein. Sie müssen sich zunächst registrieren, und dann müssen sie sich einloggen, bevor sie einen Block Bücher posten können. Also lasst uns weitermachen und dieses Modul erstellen. Also werden wir einen neuen Ordner erstellen, und es wird Autor genannt werden. Und denken Sie daran, als wir im letzten Abschnitt über Model View-Controller gesprochen haben, wo Sie viel von diesen Anwendungen
wissen? Folgen Sie ihnen. Modellansicht, Controller, um, Muster und es Grundsätzlich ist die Idee, dass Sie in verschiedenen Komponenten oder
indifferenten Dateien fast auf der Anwendung trennen ,
alles, was mit verschiedenen Teile davon. Also Modell ist für die Datenbank-Operationen Ansichten sind die Controller, die irgendwie wie ein bisschen,
um,
verwirrend ist um, . Aber Ansichten in der, ähm, in Flask und auch in anderen Python-Vorlagen sind tatsächlich die Controller oder das Meer
der NBC-Ansichten sind tatsächlich in diesem NBC-Muster die Vorlagen, also ist es ein wenig verwirrend. Einige Leute nennen es das leere V-Muster in Kolben und jünger, weil es sich um
Modellvorlagen und Ansichten handelt. Aber Ansichten sind die Controller und Vorlagen sind die, um, sind die Ansichten. Auf jeden Fallist
das Wichtigste, dass wir immer Vorlagen trennen,also ist
das Wichtigste, dass wir immer Vorlagen trennen, die Präsentationsebene oder die Ansicht. Die Modelle, welche die Datenbankoperationen für die auf einer Datei namens Models und die Controller sind, welche diejenigen, die denjenigen weiterleiten, der die Route hat, Um, welche sind die Ansichten? B y auf Kolben Also lassen Sie uns voran und erstellen Sie hier eine Ansichten, so dass wir das haben und wir werden eine jetzt eine
neue Datei namens Models B Y haben . Und jetzt wissen wir, dass Ansichten, die er haben wird, es wird unsere Controller-Modelle werden
die Datenbank sein Operationen. Und wir werden hier einen Template-Ordner mit der gleichen Struktur haben, so dass wir
auch wie jede,
ähm,
irgendwelche Ansichten oder eine Präsentationsebene für die Anwendung trennen auch wie jede, ähm, . Und bevor wir vergessen, lassen Sie uns dies zum NDP hinzufügen. Warum? Gerücht? Wann immer wir ein neues Modul haben, müssen
wir dies aus Autoren-Importansichten tun. Lasst uns das retten. Und so gehen wir jetzt zum Es geht zu den Modellen. Ähm, ich meine, die Autoransichten, ähm, wir werden nur ein paar Platzhalter setzen, die ihre füllen, so dass wir es wussten. Wir wissen, dass es funktioniert. Also von Flask, Blawg, importieren App und dann werden wir ein Nickerchen Route haben und wir nennen es Login. Und ah
, da würden sich die Autoren einloggen. Und so,
finden Sie Logan und dann einfach zurückkehren. Hallo, Benutzer. Okay, ähm, noch eine wichtige Sache, die man sich merken muss. Immer wenn Sie ein neues Modul erstellen, das ein neues ist, wie ein neuer Ordner, Um, müssen
wir ein n it p y hinzufügen, damit wir von anderen Orten importiert werden können. Und tatsächlich wurde
mir klar, dass wir vergessen haben, das bei Blaga zu tun. - Schwellen. Es funktioniert, weil wir nicht von irgendwo anderem blockiert importiert haben. Aber es ist immer eine gute Praxis, denn dann können wir tun, können wir aus blawg Punktansichten sehen. Ähm, ah. Importieren Sie etwas. Also, das ist das,
Ähm, jetzt werden wir,
ähm, wir werden unser Modell definieren. Und,
ähm, lasst uns anfangen, daran zu arbeiten
51. Interaktion mit dem ORM: Okay, also mal sehen, wie wir mit dem mit diesem Modell interagieren. Und die Art und Weise, wie wir das tun werden, ist ,
äh,
erinnern Sie sich, ,
äh,
erinnern Sie sich,wie wir Python -Shell hatten und wir könnten Dinge mit der
Anwendung von dort machen , um, in diesem Fall, weil wir haben B Y hier verwalten, verwalten ermöglicht es uns, sofort es eine Shell, die die,
um diese Anwendung im Speicher geladen hat . Also, so wollten sie es tun. Um, wir werden mit der Anwendung spielen, indem wir diese Python verwalten Leute aufrufen, die ich schicke, und Sie werden hier sehen. Ich habe das bemerkt, als ich das tat. Anfangs hat
es diese seltsame Art wie, ah, Warnmeldung. Es ist nichts wie, ähm, sehr dringend oder nichts,
um sich ähm,
sehr dringend oder nichts,
um sich
Sorgen zu machen. Aber ich habe darüber gelesen, und es stellt sich heraus, dass die geheime Alchemie diese Einstellung als wahr bezeichnet haben muss, damit wir diese Fehlermeldung nicht sehen können. Also werde ich einfach voran gehen und bei diesem zu den, ähm, zu den Einstellungen, warum? Damit ich das nicht sehe, diese Nachricht hier und es wirkt sich nicht wirklich auf die Funktionsweise der Datenbank aus. Also lasst uns, äh es ist zu einem Ausgang hier. Und lassen Sie
mich das maximieren und den Bildschirm löschen. Äh, warte. Ok. Und machen wir zurück, um mich zu verwalten. Warum schon wieder? Und ah, jetzt haben wir diese Luft nicht, aber auf jeden Fall, ähm, was wollen Sie tun, wenn wir das erste Mal damit interagieren, mit
diesem Modell oder mit diesem Objekt? Die Tabellen müssen erstellt werden, weil,
wie Sie sich erinnern,
wir blockieren müssen, dass ich erstellt wurde,
aber wir haben keine Tabellen darin. Die Tabellen müssen erstellt werden, weil, wie Sie sich erinnern, wir blockieren müssen, dass ich erstellt wurde, Die Art und Weise, wie Sie das tun, ist ,
ähm , wissen
Sie ,
Sie müssen zuerst ,
wie, einfügen, ähm, ähm, oder importieren Sie BB aus Ihrer Anwendung. Also werden wir von Flash Blawg Import BB tun, und dann müssen Sie die Modelle importieren, die Sie verwenden werden. Also in diesem Fall werden
wir von Autorenmodellen tun. Autor importieren. Ähm, Sie können auch beginnen,
wenn Sie
mehrere ähnliche Klassen darin haben Sie können auch beginnen,
wenn Sie
mehrere ähnliche Klassen darin haben. Ähm, und das wird sie alle importieren. Und dann machen wir das endlich. Ah, dieser komische Devi erschafft alles und was das tut, ist,
dass er alle Tabellen für , die Anwendung dieser Modelle erstellt,die wir importiert haben. Wie können wir das überprüfen? Es ist ziemlich einfach zu überprüfen, ob wir das können. Öffnen wir ein weiteres Terminal-Fenster und rufen wir die meine Fortsetzung an. Ci Ah CTL cli. Richtig. Ähm, wenn ich es zeig, haben sie es in Kappen gesetzt. Also folgen wir unseren
Standard-, äh, Schulter-Datenbanken. Also, das der Asse. Also, wenn wir Block hier verwenden, Okay, jetzt zeigen wir Tabellen. Sie werden sehen, dass der Autor erstellt wurde. Ähm, und wenn wir Stern vom Autor auswählen, werden
Sie sehen, dass wir keine Aufzeichnungen haben. Das ist also gut, dass das bedeutet, dass die Autorentabelle tatsächlich von der DB-Wiege erstellt wurde , . Denken Sie daran, wenn wir ältere,
äh,
andere Modelle hätten äh, , müssten
Sie sie importieren, bevor Sie das tun, um Wiege zu sein. Wenn ja, sagen wir, wir hatten einen Blogger, den wir hatten, ähm, es ist ein Beitrag, für den Sie diese Modelle importieren würden. Diese Fortsetzungsalchemie weiß was, sei das, was die tatsächlichen Modelle deiner Anwendungen sind. Okay, wie interagieren wir jetzt mit den Ställen? Ähm, also im Grunde, werden
Sie ein Autorenobjekt aus dem Modell erstellen , mit dem wir vorher gearbeitet haben. Also weiß ich nicht, ob du dich daran erinnerst. Also wäre es all diese all diese Dinge und denken Sie daran, ein neues Objekt zu initialisieren oder zu setzen . Du musst das hier passieren,
Teilzeitgewinner . Also lasst uns das machen. Wir werden sagen, Autor ist Autor gleich Autor, und Sie komprimieren die Eingabe dort und, äh, Gerücht, wie wir gesagt haben , wissen
Sie, ich war dramatisch größer. Sehen Sie, wie ich es hier nicht habe, weil es automatisch für auch keine Notwendigkeit,i d
übergebenerstellt
werden.Aber i d
übergeben wir werden dio Grundsätzlich volle Namen sind voller Name wäre oder hey, Escobar. Und dann haben wir die E-Mail wäre Jorge bei Null Punkt io und dann den
Namen Jorge verwenden würde. Und dann wäre das Passwort 12345 und sein Autor, weil es standardmäßig gesagt wurde, dass Zehe falsch , ähm, ich könnte es einfach nicht passieren, wie gerade hier endete oder uns passieren. Wahr. Das war's also. Und schließen Sie Klammer. Okay, jetzt haben wir einen Autor, und wenn ich hier verfasse, wirst
du es sehen. Denken Sie daran, wie wir über die Rep Reproduktion gesprochen haben, sehen, wie es Fluss Gefühl, dass. Und es sagt mir, dass der Autor jetzt eine Instanz außerhalb des Autors ist, wobei der Benutzername dort übergibt, also ist das ziemlich nützlich. Aber, ähm, ist das schon eine innere Datenbank? Also lassen Zoo eine andere, wählen Sie ihre und sehen, was passiert. Nein, ist
es nicht. Es gibt also zwei Schritte, um in der Lage zu sein, das in die ich Basis bekommen. Das erste ist, wir eine Sitzung erstellen müssen, damit wir Devi Session ungerade Angebot machen, und das ist, dass es eine Art wie ein Pre-Commit genannt wird. Grundsätzlich ist
eine Sitzung so, als ob Sie bei jedem Aufruf der Datenbank mehrere Dinge tun können. Also könnten wir Sie wissen lassen, wir könnten fünf Autoren hier hinzufügen, und wir möchten nur das Ende dieser fünf Definitionen, machen Sie ein Commit, was irgendwie wie Okay ist, jetzt sagte dies ist, dass eine Basis und das spart uns Zeit, denn anstatt hin und her , können
wir es nur einmal tun. In diesem Fall werden
wir nur einem antun, also ist das in Ordnung. Wir sind hier fertig. Also, jetzt machen wir db-Sitzung Commit, und das ist, wenn die Datenbanken tatsächlich aufgerufen und ich bekomme einen, ähm, im Grunde einen Datensatz erstellt. Und wie überprüfe ich das? Nun, wir können hier gehen und dann Star vom Autor auswählen. Da gehst du. Wir haben unsere erste Platte aus dem Oran erstellt. Also und jetzt, wenn ich Autor, ich d hier,
ich sehe, dass ich ein i d bekomme. Diese Idee ist diejenige, die meine Fortsetzung für uns geschaffen hat. Und zur gleichen Zeit kann
ich tun Autor angedockt. Ah, du weißt schon, voller Name. Und ich werde meinen Namen bekommen. Sehen Sie, wie jetzt, dass Datensätze, die in der Datenbank aufzeichnen, wie ein Objekt geworden sind, und ich kann Dinge damit machen. Ok. Und wie fragen wir, wie,
wie wir tun, wählen Sie Stern von Autor hier. Nun, lassen Sie uns einen anderen Benutzer erstellen, damit es ein bisschen mehr lassen Sie uns einen anderen Benutzer erstellen, damit es ein bisschen mehr
Spaß macht. Also werde ich tun, dass du wieder Autor machen kannst, weil wir das nicht wiederverwenden werden. - Sind wir nicht. Wir werden nichts damit machen,
also erschaffe ich noch ein Jahr. Sagen wir John Smith, richtig? Die E-Mail verwenden John am Beispiel dot com sie verwendet ihren Namen ist John. Und die Sorgen der Vergangenheit gingen 2345 und er ist auch Autor. Okay, jetzt, wenn ich Autor vorstelle, bekomme
ich Autor John Perfect. Also noch einmal, Devi Sitzung D b Sitzung uh, Autor und D v Sitzung Kommentar. Nun, wenn ich auf meiner Fortsetzung sehe, habe ich meine beiden Aufzeichnungen da drin. Perfekt. Also, jetzt, um für mich zu sehen, lassen Sie mich holen oder mir alle Autoren in der Datenbank, ich mache folgendes ich mache Autoren gleich. Ah, Autor. Und dann haben wir eine Eigenschaft namens Query und Abfrage ermöglicht es uns, zu filtern, um
Objekte zu erhalten . Ah, durch andere wie Einstellungen. Oder wir können sie alle erledigen. Also, wenn ich Autoren abfragen Oh, sieht
es so aus, als hätte er nichts getan. Aber jetzt, wenn ich Autoren hier mache, werden
Sie sehen, dass ich eine Liste von Objekten habe. Also Autoren, Augen oder Hass und John. Also, wenn ich Autoren von Null mache, ist
das das erste Element auf der Liste. Ich hole Jorge. Und wenn ich Autoren von einem mache, werde
ich John und das Gleiche hier besorgen. Weißt du, wenn ich Autoren einen Punkt voller Name mache, bekomme
ich den Namen John Smith. Ähm, ich könnte auch einen Abfragefilter nach machen. Also Autoren gleichen Autor, Abfrage Feld sie vorbei und dann kann ich einfach den,
äh,
Parameter übergeben äh, . Also, das ist ein, der ein Benutzername gleich Jorge ist. Und, ähm, ich könnte auch die bekommen, anstatt alle Aufzeichnungen hier zu bekommen, ich sage nur zuerst. Jetzt haben Autoren eine Platte, und es ist der Autor, Jorge. So werden wir eine Menge von anderen Arten sehen, wie wir mit der Datenbank in einer späteren,
späteren Lektionen interagieren . Aber das ist irgendwie ein guter Anfang für uns zu visualisieren, wie wir damit interagieren oder in Okay, also bevor wir weitermachen, wollen
wir nicht weiter all diese, wie Daten in, ähm in der -Tabellen. Also werden wir,
ähm, wir werden eine Methode verwenden, die die Fortsetzung der Alchemie verwendet. So wie wir das wieder tun, müssen
wir das,
ähm,
das db-Objekt und in Fort die Modelle hier importieren ähm, . Aber die Art und Weise, wie Sie tun, ist, dass Sie die tiefe Rezession Commit machen, nur für den Fall, dass es irgendwelche ausstehenden
Operationen gibt und dann db alle löschen und das löscht alle Tabellen hier drin. Wenn wir also Tabellen zeigen, werden
Sie sehen, dass es keine Tabellen gibt, aber wir haben immer noch unsere Datenbank. Also ist Blut da, also denken Sie daran. , Denken Sie daran,zuerst an die tiefe Rezession zu begehen, denn es gibt einen Fehler, dass, wenn wir Debbie anrufen, alles ohne dieses Verwüstungs-Commit
fallen lassen, es auf unbestimmte Zeit hängt, bis Sie die Kontrolle mögen. Sehen Sie, aber
wir sind bereit, neu anzufangen, und wir werden zum nächsten Abschnitt weitergehen, wo wir anfangen werden, ein
bisschen mit Formularen zu arbeiten und mal sehen, wie wir das machen.
52. Die Basisvorlage und Bootstrap: Okay, also, Moment haben wir Ah, ziemlich einfach wie, hallo,
Welt, die hier so ist. Und wie Sie sich erinnern, war
dies in den Blockansichten. Wir haben diese Rückkehr in einer Welt, die natürlich nicht sehr hübsch zu betrachten ist. Also eine Sache, die ich hier verwenden werde, und ich werde nicht in eine Menge Details auf der Vorderseite,
im Inneren oder dem Look and Feel bekommen , aber ich möchte eine Basis,
ähm,
basierte HTML-Vorlage erstellen ähm, , damit ich beginnen, einige, ähm, einige der Look and Feel zusammen für diese Dinge zu setzen. Blawg auf Sie können mitverfolgen und Sie werden, wissen
Sie, indem Sie sich ansehen, wie ich Dinge mache, könnten
Sie einige
grundlegende Ideen bekommen, wie man mit Bootstrap und,
ähm und J Query arbeitet , Das ist zwei der Dinge, die ich verwenden werde. Allerdings, wie ich schon sagte, andere Lektionen decken wahrscheinlich Front und Zeug in einem anderen Kurs ab, und ich werde euch auf dem Laufenden halten. Wann? Wenn das passiert, vergewissern Sie sich, dass Sie mir auf Twitter von der EU aus
folgen oder aus Syrien gehen. Dot Io hat die Nachrichten später angewiesen damit Sie behalten können, wissen
Sie, in Kontakt, ähm, mit mir in Begriffen, wie, du weißt schon, neue Kurse kommen zusammen. Aber für jetzt, lasst uns Ah, lassen Sie uns diese Basis HTML erstellen. Und dafür werden
wir einen neuen Ordner erstellen, Cold Templates. Und wenn Sie von unserem ersten aus unserer früheren Abschnitt Vorlagen erinnern ist im Grunde, wo wir Flask erwartet, dass Sie alle alten versucht für die Anwendung zu speichern. Also werde ich tun, wenn du hier einreichst, und ich werde das das Basis-HTML nennen. Okay, also lasst uns grundlegende HTML machen. Wir werden das als ein,
ähm,das ist ein 5-artiges HTML-Dokument, und wir finden hier die Sprache. Wir werden das als ein,
ähm, Ähm, dann werden wir einen Kopf haben. Und das ist übrigens wie eine minimale Art aus wie, uh, html fünf Vorlagen oder du arbeitest. Willkommen bei Art der Verwendung es für Ihre eigenen Projekte. Dies setzt das Zeichen nach UTF acht. Also schwächen Anzeige richtig alles, was Sie wissen, internationale Zeichen, wenn wir irgendwelche haben und wir werden eine, ähm ich Rand, die die Internet Explorer-Einstellung ist, und wir sind auch in Betracht nehmen für mobile -Anwendungen oder mobiles Rendering. Also, wenn jemand Quittungen Seite von meinem Handy sind, ähm, sie können den Inhalt richtig sehen mit gleichem Gerät mit und Koma in der Shell-Skala ist eins. Ok. Und schließlich werden
wir einen Titel haben,
und dieser Titel wird einen Block haben, den wir innerhalb des Tempels definieren werden, dass der das nennt und dann und Block. Großartig. Also, jetzt hier, werden
wir,
ähm, wir werden Bootstrap einfügen. Und dafür empfehle
ich, direkt von einem aus ihrer Stadt in Bootstrapped
zu bekommen, damit wir es nicht selbst bedienen müssen . Also lassen Sie mich das in einer Sekunde bekommen. Aber lassen Sie mich das einfach ausspüren. Perfekt. Und das endet unseren Kopf. Jetzt haben wir eine Leiche und lassen mich das hier draußen klären. Also, ähm, wir werden eine
Container-Klasse haben . Und das wird auch ein Block sein, den wir von der aufrufenden Vorlage rendern. Wir werden diesen Inhalt nennen, okay? Und schließlich werden
wir J-Abfrage haben, die von Bootstrap benötigt wird, und wir werden das später erwachsen. Und wir haben auch die Bootstrap Js. Dies sind Kommentare hier, Abgekratzte Wunden. Du bist cool und drehst dich. Perfekt. Ok, das sieht gut aus. um, lasst uns gehen und die Bootstrap-Stadt und die Werte ergreifen, um dies in diese Vorlage zu setzen. Okay, also gehen wir und holen die Stadt hier rein. Wir können,
ähm, ähm, Bootsfahrt machen, siehst du? Bewerten Sie. Also lassen Sie uns das hier und die J s ersetzen und jetzt brauchen wir nur J-Abfrage. Sehen wir, äh, lassen Sie uns nach J-Abfrage cdn suchen. Okay, also stellen wir es hier Code eine Abfrage 2.1 Punkt für perfekt. Das ist also das. Also lassen Sie uns sagen, dass Vorlage und wir sollten hier in gesetzt werden. Ähm, das nächste, was wir tun werden, ist eine,
äh, eine Registrierung für die Benutzer. Und dafür werden
wir anfangen, eine Bibliothek namens Flask WTF zu verwenden,
die, ähm,
ein ähm, Set off Dienstprogramme in der Lage zu sein, Formulare in,
ah,
auf eine sehr einfache und skalierbare Weise zu behandeln ah, . Also lasst uns ah, lasst uns damit weitermachen
53. Einführung in WTForms: Okay, also, ähm, wir müssen, ähm, WTF-Formulare
holen, und das wird eine neue Bibliothek sein. Und so muss das den Anforderungen hinzugefügt werden, und nur zwei Personen installieren es. Also hier fügen wir Flasche wtf hinzu. Und wie ich schon sagte, WTF ermöglicht es Ihnen, Formulare sehr einfach innerhalb der Flasche zu verwalten, ähm, irgendwo zwischen dem Stall. Also lasst uns hier reingehen. Und die Leute installieren Anforderungen und das wird Flex WTF Notice Sachen wie WTF installieren, um für uns da zu sein. Jetzt haben wir das aktiviert. Wie erstellen wir also ein Formular? Also, ich bilde im Grunde lebt auf dem gleichen, ähm,
Modul, das wir irgendwie benutzen werden. Also lasst uns das schaffen. Normalerweise haben wir es auf ein Formular gestellt, Dr. Ey Soul. Es ist zu neuen Datei und Form Punkt b Y. Also der erste mit Ihnen ist, dass wir Eanes importieren aus Flasche WTF Importformular, und wir werden einige Validatoren importieren und im Grunde, durch die Jahre erlauben Es erlaubt uns,
um validierte Daten bevor er ohne Basis kommt. Und wir werden auch das Stringfield- und Passwort-Feld machen. Ähm, wir werden auch wir werden auchdie E-Mail
validieren. Also, das ist ah getrennt von der Schönheit der Formen Punktfelder dot html fünf Import
E-Mail-Feld . Perfekt. Also, wie funktioniert es? Nun, wir müssen eine Klasse erstellen,
die wir müssen eine Klasse erstellen,
die
im Grunde Felder von den Feldern aus dem Feld erstellt, das wir
rendern werden. im Grunde Felder von den Feldern aus dem Feld erstellt, das wir
rendern werden Also nennen wir es normalerweise registriert für, wissen
Sie, was auch immer Aktionsformular, Registrierungsformular in diesem Fall, weil wir werden, um Benutzer mit diesem registrieren. Und es ist eine Unterklasse aus Form, die Dieb zuletzt o B bis f wtf ist oder so lasst uns krankes Modell. Also haben wir, ah, vollständigen Namen. Also machen wir den vollständigen Namen gleich Stringfield. Und dann übergeben wir hier, was wir auf der Art von anzeigen wollen, wie die Beschreibung des Off dieses Feldes. Also in diesem Fall ist der vollständige Name. Und wir werden sagen, dass dies ein Pflichtfeld ist. Also machen wir Validatoren hier erforderlich. Ähm, dann haben wir eine E-Mail. So E-Mail ist gleich einem E-Mail-Feld. Ähm, und dann schicken wir uns eine E-Mail mit der Beschreibung, und es ist auch ah,
Körper, der benötigt wird. Ähm, dann haben wir einen Benutzernamen
, der auch ein Stringfield ist, und dann benutzen wir einfach ihren Namen, und dann werden wir hier mehrere Werte haben. Also lasst uns eine Klammer öffnen. So Validatoren erforderlich und Validatoren Punktlänge. Wir gingen sozusagen einige Einschränkungen ein. Mindestens vier maximal 25. Also, wenn ihr Feld es vier Zeichen hören, wird
es sein, dass wir eine Fehlermeldung erhalten. Und wenn es mehr als 1 25 die gleiche Sache und dann Passwort, wir wollen, dass ein Passwort-Feld auf. Wir werden diese neuen Passwort anrufen und warum neue Reisepass? Nun, Sie wissen, wie informiert wir haben eine Art, wie wiederholen Sie das Passwort. So haben Sie müssen das Passwort zweimal setzen. Wir werden etwas Ähnliches hier tun, und Sie werden sehen, dass in ein wenig Validatoren erforderlich. Ähm, wir werden diesen Validator haben. Es sind die Aufzüge, die wir gleich und gleich haben, bedeutet, dass es gleich sein muss. Fragte die, ähm als das zweite Feld, das ich bestätigen. Und die Nachricht, wenn dies fehlschlägt, ist übergeben. Worte müssen übereinstimmen, dann Komma, wir werden Gutachter Loslänge und das Gleiche tun. Mindestens vier Zeichen für das Passwort und maximal 80 Zeichen. Und das beendet das Passwort, und dann haben wir ein bestätigtes Feld, das auch ein Passwortfeld ist, und wir werden dieses Wiederholungspasswort nennen. Also, wie Sie hier sehen können, ist
dies bestätigt das ist das Feld, das es muss, wie, gleich
sein. Und wenn es die Nachricht fehlschlägt, übergeben
wir sie. Er ist ein Passwort. Die meisten verwalten. Ähm, das war's. Siehst du, wir haben hier auf Sendung. Passwort-Feld. Ja. Ich mag diesen Editor von Cloud Line wirklich. Ich muss sagen, ähm, okay, das war's. Also haben wir unser Formular bereit zu gehen,
und, und, äh, jetzt, sehen
wir, wie wir es auf die Ansicht gestellt haben. Ach
, zuerst werden
wir,
ähm, wir werden das hier zur Autorenansicht hier machen. Also lassen Sie uns eine neue Route definieren. Und das hier heißt Register, und wir müssen Methoden. Man ist ein get und jeder ausgesetzt. Erinnern wir uns an die letzte Lektion, das bedeutet, dass wir das Formular hier rendern und die Informationen daraus bekommen. Also alles, was wir jetzt tun, ist über die Form, um Formular zu registrieren. Aber warte, wo ist die Forschungsform? Wir müssen es importieren. Also für hier müssen wir von Kolben zu tun. Wir werden eine Vorlagen haben oder Rendervorlage importieren und umleiten, nachdem der Benutzer einreicht und vom Autor Formular Importregister Formular. Also, jetzt haben wir hier gefahren, um, und wir werden Rendervorlage zurückgeben. Und wir haben dieses Jahr noch nicht registriert, ext. E-Mail. Und wir haben das Formular daran übergeben. Okay, also mal sehen, wie diese Form aussieht. Also erinnere dich, wie ich gesagt habe, dass wir der gleichen Art folgen werden, wie, ähm, Modul-wie, Struktur auf der Vorlage. Also werden wir das tun,
indem , wir einen Vorlagenordner haben , in dem
wir den Autor, die Autorenvorlage haben . Also fangen wir an, das zu tun. Also in Vorlagen. Und als ich eine neue Mappe hatte und sie heißt, ähm, der Ordner ist Autor, und wir werden eine Blawg haben, ähm. Ordner auch innerhalb von Vorlagen. Und hier werde ich tun, wenn Sie Datei, Ich werde dieses Register html Cool nennen. Okay, das wird
also die Basis HTML erweitern, die wir oben rechts haben, und sie wollen ein Block-Titel-Autoren-Register machen. Ähm, dann die Inhalte mit was? Sie haben Klassenrolle. Was ist, wie, ähm, Bootstrap definiert die Art von, wie die Zeilen des Inhalts hier. Wir werden eine Säule mit einem Ausstieg haben. Drei. Das ist wieder Dinge mit, ähm mit würde Gurt. So funktioniert das griechische System. Und, weißt
du, du kannst darüber lesen. Ähm, dann haben wir eine Titelanmeldung. Also hier, wo die Formularmethode gleich ist, posten Sie eine Aktion gleich und denken Sie daran, dass wir nie, jemals tatsächlich Ihre andere setzen. Hier machen wir dich, Earl, zum Lesen Ostern. Und die Rolle ist Form. Dies wird auch von Bootstrap benötigt. Ähm, perfekt. Wie zeigen wir hier eigentlich ein Ah-Feld an? Die Art und Weise, wie wir das tun, ist, eine, ähm, was man eine Dave letzte Formulargruppe nennt? So wird Bootstrap , das ganze Feld
gruppieren, all das Felder Eigenschaften. Also zuerst müssen wir eine Feldbeschriftung setzen, und das ist irgendwie wie das, ähm, wenn Sie das Formular sehen, es ist dieser Teil hier, was die eigentliche Beschreibung des Feldes ist, um dann ,
ähm einem Filter aus,
ähm,
von wir müssen auch das eigentliche Feld mit
einem Filter aus,
ähm,
vonKolbenvorlagen übergeben,
die als sicher bezeichnet wird. Kolbenvorlagen übergeben, Und im Grunde
bedeutet sicher, dass es in Ordnung ist, die Dinge darin zu rendern. Ah, in diesem Teil hier, ähm, weil wir wissen, dass es von uns kommt, und es wird nicht etwas sein,
das, Ah, dem entkommen werden muss oder so. Ähm, und, äh, das wird das vorerst tun. Es ist irgendwie der einfachste Teil davon. Aber natürlich kennen Sie das Feld. Es ist nicht das Es ist nicht das, was wir brauchen, um hier zu kaputt zu machen. Es ist eigentlich da. Der Formpunkt, weil Form ist, was wir das Interview weitergeben. Wo ist die Aussicht hier? Also übergeben wir das Formular und das Formular ist das Registerformular. Also wäre das Feld in diesem Fall die 1. 1, die ist, wenn wir auf das Formular überprüfen, es ist der vollständige Name. Also lassen Sie uns Form nicht den vollständigen Namen setzen, dieses Etikett und dann ehemaligen Dokument vollständigen Namen, das Etikett rechts und dann bilden Punkt fulling. Und dann müssen wir dasselbe für Sie tun, wissen Sie, die folgenden. Aber lassen Sie uns einfach tun, damit Sie den Dreh davon bekommen. Und so, in diesem Fall, wäre E-Mail richtig und dann E-Mail, und das würde zwei der der Formularfelder vollständigen Namen und E-Mail machen. Aber es gibt etwas, das ich dir später zeigen werde, wie man mag, nicht das tun, weil es wie ein bisschen Flussgerichte ist. Und wir haben noch nicht einmal das Teil, in dem wir Fehler anzeigen müssen. benutzst Bevor wir das überprüfen, gibt es eine Sache weniger, die du passieren musst, und dubenutzstdas immer. Es gibt etwas namens CSR F, das Sie nachschlagen können, was? Du weißt, was es ist. Aber CSR hat es im Grunde schwer für Hacker Toe Display,
um,
oder Toe Angriff Ihre Form mit Daten,
und es macht um, oder Toe Angriff Ihre Form mit Daten, im Grunde ein, ähm, ein einmaliges Mal wie Hash oder zufällige Stärke. Das heißt auch, es ist ein Cookie, so dass der Server weiß, dass die Person ,
äh ,
oder das System , das diese Informationen sendet, tatsächlich Sie sind und nicht wie ein Skript, das ein Hacker hat gestoppt. Also dafür tun wir diese Form, die versteckte Tack. Wir verwenden das immer am Anfang, abseits seiner Form, , und Sie können, wissen
Sie, sicherstellen, dass das Formular sicher ist
54. Formfehler: Okay, also mal sehen, was wir hier bekommen. Es ist Ah, es ist nur, um das Meer hier zu kontrollieren und ihren Server neu zu starten. Und weil wir die,
ähm,
die Route haben , wenn ich das schließe, haben die Rowdies zuletzt registriert, Mal sehen, welcher Schrägstrich ihre Shows angehoben hat. Perfekt. Also haben wir unsere erste Form. Das ist so cool. A. So können Sie sehen, dass es das Label rendert und dann das Feld, in dem Sie die
Informationen eingeben können , und es tut vollständigen Namen und E-Mail und lassen Sie uns für eine Sekunde die Quelle sehen, so dass
Sie sehen können, wie das aussieht. Und ich werde mir meine Staaten ein bisschen, also haben wir mehr Informationen. Also, wie Sie sehen können, fordert
es Bootstrap an, das CSS seine Dies ist ältere Basisvorlage. Wir werden sehen, wie es den Titel durch Autorenregister ersetzt, was wir damals gesagt hatten. Auf dem eigentlichen Behälter. Wir haben den tatsächlichen Inhalt hier, das ist es, dass Autorität,
Streuner Anteil sehen , und wir haben Methode Post einen vollständigen Namen E-Mail all das. Das sieht also gut aus. , Ich merke,dass es keinen gibt, äh, er hat hier nicht geredet, was seltsam ist. Ich werde mir das ansehen, aber auf jeden Fall
sehen, wie wir ein Etikett für einen vollständigen Namen haben. Es setzt das Etikett dort und dann die Eingabe i d. Vollständiger Name, Name, erfüllender Typtext. Und hier ist es Typ E-Mail. Das ist also irgendwie so, als würde man perfekt funktionieren. Ähm, eine Sache, die wir hier sehen. Okay, wir werden das in die Kasse schicken, also wird es nichts geben, was hier bisher passieren wird. Also lasst
uns versuchen zu sehen, was passiert, wenn wir das wirklich schicken. Und,
ähm, wenn wir tun müssen, ist, um für uns zu überprüfen, was das, was die Person um, geschickt Wir müssen die überprüfen, um das, um die erstere eingereicht. Und der Weg, das zu tun, ist, dass es bleibt. Lassen Sie mich die verstecken, ähm Sie überprüfen. Das heißt, wenn Formularpunkt beim Senden validieren. Und was das tut, ist, dass es
überprüft , das Formular keinen Fehler hatte. Also, wie Sie sich erinnern, gibt es einige Dinge, die hier gesagt haben, was wie, wissen
Sie, das ist erforderlich. Das ist erforderlich. Die Verwendung von Amos Toby, Minimum von vier Maximov 25. Es ist S O. Das ist um oh, ich hatte ich das Rennen nicht in HTML gerettet. Deshalb sind sie Form versteckte Tag wurde nicht angezeigt. Also lasst uns das neu laden, eigentlich von der Quelle neu laden. Wahrhaftigkeit. Das ist die diesjährige CSR von Token, über die ich mit Ihnen gesprochen habe. Siehst
du, wie geht es? Rendert dieses sehr zufällige Tag. Und wenn Sie das nicht setzen, wenn Ihr Fuß, wenn Sie Blitze einreichen, wird irgendwie wie werfen ihre Ähm, also gibt es ein CSF-Token. Gut. , also zurück zur Ansicht zu gehen, um, wenn die Form Art von, wie alle diese Validierung übergibt, dann wird es den if-Block ausführen. Andernfalls wird sie zurück in die zur Rendervorlage zurückgeworfen. Und es würde ein , paar Fehler geben,die wir aufgeben können. Ähm, also ist das vorerst sicher. Wir werden eine Umleitung zu
Euro für zurückgeben und nennen das einen Erfolg. Und wir müssen den Uriel 4 importieren, und wir werden einen „Erfolg“ haben . Und wir werden das definieren und einfach zurückkehren, obwohl wir gar nichts tun. Autor registrieren. Perfekt. Ähm, das natürlich, Problem ist
natürlich,dass wir das nicht vollständig
passieren können , ,weil es all ihre Felder erfordert. Aber, ähm, lasst uns einfach darauf eingehen, wie wir Fehler anzeigen. Also tun wir das, indem wir folgendes tun. Ähm, also werden wir die Fehler hier auf den Grund stellen. Aber mal sehen,
im Grunde, im Grunde, was passiert, ist, dass es einen Feldfehler gibt, äh, Klasse, nicht Klasseneigenschaft, das ist, das ist mit dieser Luft gefüllt. Wenn es also ein vollständiger Formularname ist, der Fehler und dies ist normalerweise wie eine Liste, so dass es wie mehrere Fehler sein könnte, können
Sie nur einen anzeigen, aber es ist besser, nur alle von ihnen anzuzeigen. Also, ähm, ist
es auch. Und wenn wir das hier schließen und dann machen wir es, im Grunde machen wir eine Liste aus der Luft. Also gut, Klasse. Und als ich diese Textgefahr nannte, die wie ein Rattenfonds ist , Bootstrap bietet und wir werden für Fehler in Form tun, voller Name, dass Fehler. Es ist also ein es ist ein Vier-Look, den wir machen und für, und wir werden hier ein l I Element mit dem Fehler angezeigt haben. Das ist also der ganze Block. Sind die Fehler, die alles zeigen, dass das für meinen Kopf ist. Und ich muss das alles kopieren und einfügen und es auch hier auf die E-Mail schreiben. Aber das Ersetzen der E-Mail mit ah für eine regen E-Mail lüftet. Okay, also mal sehen, ob das funktioniert. Ähm, es gibt andere Fehler. Ich meine, es wird es haben, dass es nicht den Benutzernamen,
das Passwort und das Wiederholungspasswort auf den Feldern hat , die nicht einmal da sind. Aber mal sehen, was passiert, wenn wir das neu laden. Aber wir haben die Anwendung nicht ausgeführt. Also, da gehst du. Perfekt. Also, wie Sie sich erinnern, die wir setzen, dass die, um den vollständigen Namen erforderlich ist. Also, wenn es das wir haben können, ist wie einfach das Leere zu übergeben und, um oder beide leer, so würden wir Fehler haben. Aber lassen Sie uns einfach eine Benennung dort setzen und sehen, wie das nur für die Ära der
E-Mail aussieht . Ähm, oder besser gesagt, ich mache es umgekehrt, weil er einen Fehler auf der Kundenseite werfen wird. Ich weiß, ich zeige Ihnen, was das bedeutet, aber sagen wir, wir haben den vollständigen Namen vergessen, aber wir haben die E-Mail. Wenn ich mich registrieren sehen, sind
dies die Fehler bereits funktionieren. Dieses Feld ist also erforderlich, ist die Standardnachricht, dass dieser Körper nur Sinn benötigt. Aber Sie können Sie auch mögen, wie hier. Aber wissen Sie, eine benutzerdefinierte Nachricht, wenn Sie wollten. Ähm, und was ich Ihnen zeigen wollte, ist, weil das HTML 5 ist. Es gibt eine Validierung für die E-Mail selbst. Also, wenn ich mag von null dot io, das ist keine gültige E-Mail, richtig und registrieren Sie sich,
sagen Sie, ich bekomme einen Fehler. Aber dieser Bereich ist nicht aus Kolben. Es ist nur, weil flask um, die Vorlage oder das Formular Er sagt, dass dies ein Feld E-Mail-Typ ist, und wenn Sie dort sehen,
ähm, Sie sehen, wie es sagt, geben Sie E-Mail, die gegen validiert, äh gegen html fünf Validierungsschicht, die noch bevor wir sogar an den an den Server gesendet. Wenn wir nicht tun HTML fünf dann, dass wir wie eine,
Sie wissen,
eingeladen E-Mail Art von Nachricht hier bekommen würden Sie wissen, , aber so funktioniert alles gut. Sieht aus, als würden wir es großartig machen, und
es ist so toll, dass es nicht so schlimm aussieht. Es ist ah, wenn wir das ganze Alter weiblich machen müssen, wie Sie hier sehen. Ähm, es ist irgendwie wie ein Schmerz, denn es ist eine Menge weg, wie Dinge, die wir gerne auf der Serverseite auf der Flak-Seite machen müssen. Und es ist alles automatisch vorgesehen, auch Formen in Kolben mit Pflasterstein zu machen. WTF ist wirklich, wirklich einfach. Aber
eine Sache, die, ähm, dass alte Programmierer oder professionelle Programmierer sagen, ist, dass wir an das trockene um ah halten müssen, Paradigma oder das trockene um Muster und trockene Mittel. Wiederholen Sie sich nicht, die R Y. Und wenn Sie anfangen, irgendwo in zu sehen, wenn Sie sind, wenn
Sie das entwickeln , Sie wiederholen Dinge immer und immer wieder, wie sehr ähnliche Dinge, das sollte sei eine rote Fahne für euch. Das bedeutet, dass es einen Weg gibt, dass wir das vielleicht leichter machen können. Wie es, ähm, besser lesbar machen. Und es gibt tatsächlich einen Weg auf diese Weise. Es heißt
Mac Rose Roseund wir werden Micro's in der nächsten Lektion sehen. Bleiben Sie also herum
55. Makros: Okay, also werden wir alle Tage durch
ein Makro ersetzen und die Art und Weise, wie Makros funktionieren, ist, dass sie uns erlauben, , im Grunde freundlich,
ähm , Stücke von Vorlagen
zu machen, ihre eigenen wenig, wie, gehören. Und, ähm, aber das Gute an Makros ist, dass man Dinge an sie weitergeben kann, also kann es sein, dass sie dynamisch ersetzt werden könnten. Also, wie würde das funktionieren? Also, was ich tun werde,
wird das alles
durch ein Makro ersetzen,
und dann werde ich nur einen Liner für jedes Feld einfügen,
was
viel einfacher sein wird. das alles
durch ein Makro ersetzen, und dann werde ich nur einen Liner für jedes Feld einfügen, was
viel einfacher sein wird was Also werde ich das kopieren und einfügen, , und ich werde das Makro auf der obersten Ebene der Vorlagen erstellen,
weil ich
es
in verschiedenenFormen verwende ,
weil ich
es
in verschiedenen und ich werde das Makro auf der obersten Ebene der Vorlagen erstellen,
weil ich
es
in verschiedenenFormen verwende. Ähm, über Module hinweg. Normalerweise werden Makros mit einer anderen Punktzahl für den Namen gestartet. ist eine Konvention im Allgemeinen für Funktionsnamen oder Dateinamen, dass die Notiz, dass sie nicht selbst aufgerufen werden
sollten. Sie werden immer von woanders angerufen. Also werden wir folgen, dass so Form Helfer html. Und wie geht es Ihnen, Ähm, das letzte Makro. Also musst du ein Prozent Mikro setzen. Wir werden dieses Renderfeld aufrufen, und Sie werden mehrere Micro's in einer Datei haben. Deshalb sind es ehemalige Helfer. Wir können die Dinge hier reinlegen. Was übergeben Sie also an ein Makro-Render-Feld? Nun, die Namen des Gefühls. Also müssen Sie nicht wie, ähm, Sie können es dynamisch machen jedes Feld in Ordnung zu rendern? Und du beendest das Mikro mit uns. Du hättest es vielleicht erraten und Mikro perfekt. Jetzt werde ich mir dem gegenüberstehen, was ich getan habe. Ähm, früher. Ähm, obwohl lasst uns diese Ach machen, eine bessere Einrückung. Also, ähm, wir wollen die def Klasse Formulargruppe für jeden von ihnen haben. Wir wollen das Feld haben, unser Label. Also statt für mich vollständigen Namen, werden
wir Feld haben, ich fühle mich wie und fühle, das wird das lebensfähige von dieser Form haben und das gleiche, was dein Feld. Aber hier werde
ich etwas namens Keyword-Argument übergeben, damit ich ähnliche Qualifikatoren
an diese Felder weitergeben kann und eines davon, das ich Ihnen früher nicht gezeigt habe. Ähm, es ist, als ob ich kann. Wir sollten die Felder mit einer bestimmten Klasse definieren, die um,
Formular-Steuerelement genannt wird . Und das ist etwas, das hilft, ähm, Bootstrapped, um dieses Feld zu rendern. Also werden Sie sehen, dass, wenn wir das Makro angerufen haben, Ähm, dann haben wir nicht Ah, wenn Feldfehler. Richtig, dann eine Plastiktext-Gefahr. Das ist in Ordnung für Fehler in Feldfehlern. Und dann werde ich ach haben, und für dich. Nun, und wenn sie Makrele haben auch Okay, also das ist das, das ist es. Wurden dort aufgestellt. Also jetzt hier. Ich werde die,
ähm, ähm, unter der Autorenregistrierung haben. Ich werde das Makro hier in diese Vorlage einfügen. Also, wie machst du das? Wir haben ein von Formular Helfer macht die m l Import Renderfeld. Das sieht also sehr ähnlich wie die Art und Weise aus, wie
Sie
Bibliotheken in der Python-Hauptdatei importieren Sie . Das ist also so ziemlich es. Dann wird es jetzt sehr einfach sein, alle Felder einzuschließen, denn was wir wissen, ist
, das folgende Renderfeld zu setzen, und dann übergeben wir das Formular, benutzen ihren Namen, richtig. Und dann ist das eines der Quarks. Behalten Sie die Schlüsselwortargumente Klasse ist gleich Formular-Steuerelement. Und das war's. Das ist unser Feld, richtig? Da ist es nicht. Erstaunlich. Also jetzt, anstatt all das wie Crawdad da drin wie Feel Label zu haben, die Benutzername bilden, Feldkorken,
alles, was wir nur diese eine Zeile übergeben müssen und es kümmert sich um alles für uns. Also, jetzt können wir im Grunde E-Mail hier und ehemalige Ah, Passwort. Nun, ich vermisse etwas. Halten Sie zuerst seinen vollständigen Namen fest, richtig? Ja. Nun, Name E-Mail, vollständiger Name E-Mail,
E-Mail , Benutzername, Passwort. Und dann wiederhole es. Richtig. Vollständiger Name E-Mail. Verwenden Sie den Namen Reisepass, und, ah, bestätigen Sie. So bilden Komfort. Also lassen Sie uns sehen, dass funktioniert hat. Ähm, es ist ziemlich aufregend, du weißt schon, Errors. Ich sehe dort. Also, jetzt laden wir das neu, und los gehst du. Sieh mal, jetzt, wie es Stil ist, ein bisschen anders. Es hat nicht das Etikett daneben. Das ist wie ein Formular-Steuerelement, ähm, Klasse. Und so sieht es ziemlich gut aus. Lassen Sie uns irgendwie, wie registrieren Sie sich hier. Und dann legen wir das etwas kleiner, damit Sie besser sehen können. Also, wenn ich gehe registrieren, Sehen Sie jetzt sehe ich, wie alle Felder, die sind,
ähm, die erforderlich sind. Und so lassen Sie uns diese Form von Jorge Escobar machen oder hey, bei aus Syrien. Dodi. Oh, verwenden Sie den Namen Jorge Passwort-Test. Und mal sehen, ob ich ein Passwort mache, das auch nicht mit dem Test übereinstimmt. Registrieren Siehe Reisepass. Die meisten stimmen überein. Es wird also überprüft, ob die Passwörter nicht übereinstimmen. Sieh dir das an. Es ist schon vor dem Gefühl, das andere Zeug auszuspüren. Pässe bekommen normalerweise kein Vorfeld, weil das eine Sicherheitssache ist. Also, wenn ich Test und Test mache und ich mich perfekt
anmelde, muss ich, ähm,
gehen, um, damit ich erfolgreich war. Das bedeutet, dass hier,
ähm, dass für die Invalidierung Vergangenheit einreichen und es uns auf die Erfolgsseite geschickt hat. So viele lustige Sachen hier. Makros sind erstaunlich. Sie sind sehr cool Feature. Also und das ist so lesbar. Sieh dir das an. Es ist so schön. Du kannst , was sehen, wasda drinnen los ist. Also, weißt
du, Formulare sind wirklich lebensrettende Sache, also ist es so ziemlich. Wir haben eine Menge für die letzten, weißt
du, paar Lektionen. Also das nächste, was wir abdecken werden, ist, ähm, im Grunde die Modelle zu erstellen und einige von dem Zeug dort drin zu speichern
56. Blog und Form: Okay, jetzt, wo wir ein
Benutzermodell oder Autorenmodell haben , , ist
es Zeit für uns,mehr an dem Blawg-Modell zu arbeiten, weil wir in der Lage sein wollen,
um, ähm, um, ähm, ein Blogged zu
erstellen, wann immer, um, wir Art von, wie starten Sie die Anwendung oder die Website zum ersten Mal. ,
ähm Wenn ihr zwei seid,
ähm, , wenn ihr in der Vergangenheit fünf mit der Kriegspresse gearbeitet habt, werdet ihr wissen, dass das erste Mal, wenn ihr in ihren Admin geht, wenn es keine Blawg gibt, als wie ein Setup, um, Funktion kalt, so dass Sie beginnen können, Ihre Blogge zu erstellen und wir wollen etwas
Ähnliches hier tun . Also, ähm, lassen Sie uns das Blockmodell erstellen und wir machen ein paar davon. Ah, interessante Dinge. Ähm, aber fangen wir an, daran zu arbeiten. Also lassen Sie uns voran und erstellen Sie eine neue Blockmodelldatei und Modelle P y. okay,
Also, was wollen wir mit diesen Modellen machen? Nun, das erste, was wir importieren müssen, ist durch das, ähm, das DB-Recht. Und wir werden die Klasse Blawg finden, die ah,
Unterklasse des B-Modells ist . Es wird also ein i d haben, genau wie das, das wir mit dem Autor gemacht haben, der
sein wird , sind in Auto-Inkrement, richtig? Primärschlüssel ist gleich „true“. Es wird einen Namen haben, und das ist ein String von 80 und es wird einen Admin haben. Also ist der Admin im Grunde die Person, die den Block erstellt und hat, wie, volle, ähm, Berechtigungen für eine Art wie bearbeitet. Also werden wir hier etwas wirklich Interessantes tun, das heißt, wir machen den Admin zu einem Link zum Ah. Also der Autor, und die Art und Weise, wie wir das tun, ist durch etwas namens Fremdschlüssel. Und Sie können mehr über Fremdschlüssel lesen. Um, online in dem Sinne weg, wissen
Sie, in dem Raum vor meiner Fortsetzung und einem Fremdschlüssel sagt im Grunde, dass dieser Admin-Datensatz
ein I dsein wird ein I d . Und es war ein Punkt für eine Person. Ah, und so wird meine Fortsetzung wissen, dass, ähm, und so wird meine Fortsetzung wissen, dass,
ähm,
der
Autor im Grunde so spezifisch ist. und so wird meine Fortsetzung wissen, dass,
ähm,
der
Autor im Grunde so spezifisch ist. Ich d ist das e ist der Admin von diesem Block? Ähm, was? Wir werden damit spielen, damit ihr es überprüfen könnt. Dann haben wir, ähm, es Ah, , wir müssen den Namen und den Admin übergeben, richtig? Also Selbstname gleich Name und Self-Admin gleich admin. Und schließlich, einer der haben eine ah reproduzieren Methode. Reproduzieren. Also und das wird zurückkehren. Blawg-Prozent sind, und wir werden den Namen zurückgeben. Perfekt. Das ist also unser Blawg-Modell. Wir werden eine Art von hier haben, richtig? Also, jetzt werden wir das Formular dafür machen. Also frühere B y und wir werden, ähm von Kolben. WTF-Import für. Und so wollten wir,
ähm, wir werden hier etwas wirklich Interessantes machen,
dass Sie von WTF-Formularen Stringfield importieren sehen werden. Das ist also,
was hier passiert , auf dem Formular, ähm, auf dem Formsatz. Das nennt man für ihn. Ich möchte, äh, so wieich,
den Namen der Person verlangen müsste so wieich,
den Namen der Person verlangen müsste. ich, Ich meine, der vollständige Name, die E-Mail, dieser Benutzername Passwort und bestätigen, was ist wie, es ist irgendwie wie das gleiche Gefühl, dass der Autor hat, richtig so und das einzige, was changes ist der Name. Lassen Sie uns sagen, dass wir das aufstellen. Also der Name der aus dem Formular, es ist ein Zeichenfolgenfeld und die Feldbezeichnung würde Blockname sein. Und dann ist es hier einen Schlüssel öffnen, und es ist erforderlich. Ähm, und lassen Sie uns die Länge von den benannten Toby maximal 80 Zeichen begrenzen. Und das war's. Richtig. Dann hätte ich, äh, nein, ich muss Validatoren hier importieren. Bali. Da ist richtig. Und der nächste wäre,
du weißt schon, ich würde den vollständigen Namen für den Autor brauchen, richtig? Für den Admin. Und dann Stringfield etcetera. Und dann hätte ich eine E-Mail und sie haben ihren Namen benutzt. Siehst du, was ich sage? Das ist also irgendwie dasselbe, was wir auf diesem Formular hier hatten. Stattdessen wiederholen
Sie sich erneut nach dem trockenen, Ähm, wiederholen Sie sich
nicht. Was ich dann tun werde, ist, dass ich vom Autor ah Formular importieren werde, und ich werde die aus dem ah importieren, für
welchen Namen der Rasierer? Und weil dies eine Klasse ist,weißt
du, weißt
du, genau wie jede Klasse, die du erweitern kannst, oder du kannst,
ähm,
im Grunde so klassisch mögen ähm, . Anstatt hier Form zu geben, werde
ich das Formular registrieren. Und das funktioniert, weil Rasiermesser, für sich selbst vermisst. Ah, eine Unterklasse aus der Form, genau hier. Richtig. Diese Klasse wird also alle Eigenschaften vom Registerformular erben, also wird es genau dasselbe funktionieren. Aber wir fügen nur dieses zusätzliche, ähm,
irgendwie, um, um, zusätzliches Formularfeld hinzu, das das Hauptfeld des Blocks ist. Und das funktioniert perfekt, Flight. Also, weißt
du, noch
einmal, etwas wie, du weißt schon, kleine Dinge, die du tun kannst, also musst du nicht viel von der gleichen Kernbasis wiederholen. Und wenn Sie hinzufügen möchten,
wie, wie, eine neue und Sie fühlen sich hier, sagen
wir, Sie wollen Anzeige. Ich weiß es nicht. Ähm, du weißt schon, Geschlecht oder, ähm, irgendein anderes Eigentum. Du brauchst das nicht neu zu machen. Das hier. Ah, dieser Block für ihn eingerichtet, Sie können Es wird automatisch enthalten sein.
57. Blog und Set-up: Okay, also arbeiten wir jetzt an der auf der Blawg, ähm, Präsentationsebene. Und dafür müssen
wir ein neues Template-Verzeichnis erstellen, um sich daran zu erinnern, wie wir das NBC-Modell hier verfolgen. Also, ähm, wir gruppieren alle die Art von wie die Vorlagen für jedes ein Modul. Also werde ich einen Blawg Templates-Ordner erstellen, und darin werde
ich eine neue Datei hinzufügen. Und, äh, lass uns zuerst den Admin machen. Und für den Adminwerde
ich nicht viel tun,
was,
ah,
genug wie,
äh,
Platzhalter vorerst seinwird,
weil wir nicht Und für den Admin werde
ich nicht viel tun,
was, ah,
genug wie,
äh,
Platzhalter vorerst sein ah,
genug wie, äh, äh, wird, wirklich den Admin bauen. Wir werden das Set aufbauen, aber wir können das aus dem Weg bringen, damit wir die,
ähm,
die Grundstruktur haben ähm, . Also zuerst erweitern wir grundlegende HTML, dann wird der Titel IHS blawg admin sein, und dann werden wir eine Diff-Klasse gleich Zeile haben, und jetzt werden wir eine div-Klasse haben, und wir werden eine Spalte Medium Offset drei und nennen Sie ihn Medium sechs, was bedeutet, dass es ein Medium ist. Ah, Größe, ähm wie ein Desktop. Sites aus sechs und dann aber mit drei Offset auf der rechten Innenseite. Also jetzt hier haben wir den Block Admin Titel Blawg, admin. Und jetzt weißt du was? Ich werde die Flash-Nachrichten hinzufügen, weil wir wahrscheinlich eine Menge Nachrichten haben, die uns sagen, was, äh, Aktionen erfolgreich durchgeführt wurden. Also Und Sie erinnern sich an das von der ersten aus dem vorherigen Abschnitt. Also, wenn wir Flash-Nachrichten zu zeigen haben, dann ,
äh, wir werden es tun Wenn ich d Nachrichten und dann werden Sie Klasse blinkt undi für jede Nachricht in Nachrichten, wir gehen zu einem Nun, ich mit der Nachricht. Nun, es ist in dieser Vier-Schleife und das alles, was ihr Ellis schon da habt, und dann werden wir ein Ende machen. Wenn und und und mit Perfect. Und schließlich müssen wir den Block beenden. Großartig. Das sieht also gut aus. Das ist unser Admin. Html. Und so lassen Sie uns jetzt an der Menge von HTML arbeiten. Und es ist nur kopieren Sie das, ähm, auf Vorlagen auf Blockvorlagen, neue Datei eingerichtet. Also lasst uns diesen ersten Teil kopieren. Es ist also Blawg-Kreation. Und so hier, werden
wir haben, damit wir die eigentliche
Form haben werden
wir haben, damit wir die eigentliche
Form haben. Richtig. Also von Formular-Helfer Der Text e-Mail-Import, Render-Feld. Ähm, das ist Zehe a für Methode gleich Post-Aktion gleich Sie sind l für die Einrichtung und die Rolle ist gleich für Also das erste, was ist, denken Sie daran, sie sehen srf Token so bilden dieses versteckte Tag, und dann werden wir haben das tatsächliche Fremdfeld. Also werde ich
verschiedene Rubriken haben . Also werde ich zuerst die Blawg-Informationen haben, und dann werde ich das Renderfeld bilden diesen Namen,
und das ist deformiert die Einrichtung für ihn. Klasse, äh, Formularsteuerung. Und dann werde ich gemein sehen, Benutzer, und ich werde tun, wenn eine Kopie und Einfügen dies. Eigentlich kann
ich kopieren und fügen Sie die Renngeschichte html, weil dies die Felder für einen vollständigen Namen E-Mail mit Passwort und bestätigen. Und ah, nun, wir nennen das „Create Look perfekt“. Also denke ich, das war's. Nun, Nun, gehen
wir weiter und arbeiten an den tatsächlichen Ansichten, um zu sehen, wie das aussieht. Okay, also lasst uns jetzt an den Ansichten arbeiten, und wir haben dort fast nichts. Um, also lasst uns damit beginnen, einige der Dinge zu importieren, die wir brauchen werden, vom Flash-Import rendern, äh, Template-Umleitung Flash für die Flash-Nachrichten und Europa für. Und wir werden auch den Block importieren,
das Einrichtungsformular bilden und aus dem Flask Blawg werden
wir die DP für die DB-Operationen importieren. Wir müssen einen neuen Autor erstellen und schließlich Modelle blockieren. Großartig. Also jetzt behandeln wir den Admin. Also der Admin es wird auf Schrägstrich Admin leben. Und was wir tun werden, ist, wie viele Blöcke zu überprüfen? Ähm, haben wir? Also machen wir eine Blawg-Abfrage zählt nicht, und wir haben noch keine Zählung gesehen, aber im Grunde können Dark Count mit jeder Abfrage oder jedem Filter durchführen. Und es wird die Anzahl von Aufzeichnungen melden, dass das, ähm, dass wir so Blutabfragemengen bekommen, genau wie geben Sie mir eine Zählung aller Blogs. Wenn dieser Blog gleich Null ist, bedeutet
dies, dass kein Block erstellt wurde. Wir werden die Weiterleitung für das Mädchen für die Einrichtung zurückgeben, und andernfalls werden wir die Rendervorlage aus dem Protokoll zurückgeben. Fügen Sie Mittelwert HTML hinzu. Okay, so weit, so gut. Jetzt machen wir die Einrichtung, und das ist, wo das Formular verlassen wird, also Schrägstrich einrichten. Sie sind eingerichtet und wir haben das Formular wird das Einrichtungsformular sein, und wir werden die Rendervorlage zurückgeben. Blawg richtet HTML mit der für Masse ein. Der Kontext. Okay, ähm, damit wir das versuchen können. Sehen Sie, wir bekommen etwas, und dann können wir weitermachen und das eigentliche wie die seiner Operationen als Nächstes tun. Mal sehen, ob wir irgendwelche Fehler haben. Sieht aus, als wäre alles gut. Also müssen wir zum Admin gehen, richtig? Und wenn Adminis arbeiten? Oh, so wenig Ah-Tatsache hier, dass wir die Tabellen nicht für Admin erstellt haben, und wir können das schnell überprüfen. Also, wenn ich Blawg
benutze, hören Sie, dass ich das Yeah benutzt habe. Entschuldigung. Verwenden Sie also gebloggt. Perfekt. Also zeigen Sie mir jetzt die Tische und ich habe keine Tische. Das bedeutet, dass wir rennen müssen, ähm, die alle so Kontrolle schaffen. Sehen Sie hier und wir werden Python mich verwalten. Warum Shell? Also werden wir von Flask Blawg Import Devi und dann kennen wir den DB-Sitzungskommentar nur für den Fall. Und so jetzt sind wir kleine db erstellen alle und lassen Sie uns überprüfen, dass, um zeigen Tabellen. Perfekt. Also habe ich Autor und Blawg eine Sache, die mir dort aufgefallen ist. Erinnerst du dich, wie ich dir gesagt habe, dass du die Modelle importieren musst? Das war also etwas, das ich immer angenommen hatte. Was ist der Fall? Aber es sieht aus wie Fortsetzung. Alchemie ist irgendwie wie, interessanterweise auf alle Modelle zu schauen, und es schafft sie perfekt. Also keine Notwendigkeit, diese Importe zu tun, die das scheint ziemlich gut zu funktionieren. Also,
ich denke, wir können voran gehen und dann den Server laufen und zumindest überprüfen. Also, was ich hier
sehen möchte, , ist,dass, wenn ich Schrägstrich admin treffe, dass es überprüft, wie viele Blöcke es gibt, wie viele Blutaufzeichnungen, wenn es Null ist, dass es uns zu den Blöcken von HTML zurückgibt und das sollte, wie, rendern Sie das Formular richtig zum Erstellen des Blocks. Also mal sehen, ob das funktioniert, so Schrägstrich admin Perfect. Ah, wir haben einen Fehler auf der Vorlage selbst auf dem und Block. Also lassen Sie uns hier sehen und blockieren auch, ich vermisse den Inhalt. Sehen Sie hier ist dies HTML eingerichtet. Ja, ich vermisse den Inhalt. Also blockieren Sie Inhalte und sagen, dass Lassen Sie mich überprüfen. Ich meine sein Thema l Oh, das ist für Nachricht, nicht Nachricht für eine Nachricht. Und so sieht das gut aus. Lassen Sie uns sehen, für irgendwelche Fehler haben? Keine Fehler. Okay, das ist er wieder gemein. Und da gehst du. Richten Sie ein. Funktioniert einwandfrei. Sehen Sie, ich bekomme den Blocknamen hier und dann den Admin-Benutzer. Und denken Sie daran, wir sind nicht so, als würden wir etwas von der Hand setzen. Wie ich schon sagte, es ist automatisch, ähm, Unterklassening oder einfach nur Reform. Und es ist nur das Einfügen dieses Namens in das andere Formular. Also, ähm, das funktioniert gut, wenn wir das etwas kleiner machen, damit Sie die
ganze Sache sehen können . Es sieht also gut aus. Also lasst uns jetzt gehen und die Datenbankoperationen durchführen.
58. Blog: Okay, also bevor wir dieses Formular
einreichen, wollen wir in der Lage sein, die eigentliche Datenbankoperation durchzuführen. Also, das wird hier drin passieren. Also werden wir ein Formular dunkel validieren bei der Einreichung. Wenn das funktioniert hat,
dann wollen wir als Erstes einen Autor aus
diesen Formular-Aufzeichnungen erstellen. Wenn das funktioniert hat, dann wollen wir als Erstes einen Autor aus
diesen Formular-Aufzeichnungen erstellen dann wollen wir als Erstes einen Autor aus
diesen Formular-Aufzeichnungen erstellen. Also werde ich tun und Autor ist Autor gleich Autor und dann für ihn, voller Name. Damit wir auf die tatsächlichen Daten zugreifen können, die in diesem Feld gespeichert
sind, bilden wir diesen Feldnamen und dann Punktdaten. Das ist also eigentlich die Form später. Und wenn Sie sich erinnern, müssen
wir die E-Mail mit dem vollständigen Namen mit menschlichem Reisepass übergeben. Und wenn es ein Autor ist, so bilden Punkt vollständigen Namen, Formular E-Mail, Formular, Benutzername. Sie bilden Passwortdaten,
und dann gehen wir einfach vorbei. bilden Passwortdaten, Es stimmt, weil das hier definitiv der Admin dafür sein wird, ähm, dann müssen wir uns daran erinnern, wenn wir mit Ihrem spielen,
ähm, ähm, müssen
wir mit Devi zu tun haben. Sitzungsanzeige von diesem Objekt. Und sie wollten eine DB-Sitzung machen,
also bevor wir uns verpflichten, wollen
wir in der Lage sein,
zu überprüfen, ob dieser Datensatz richtig erstellt wurde. Denn denken Sie daran, wie wir den Admin
miteinem Interview von
Fremden verknüpfen mit werden. Ein Schlüsselautor, also müssen wir das I d von dieser Platte hier weiterleiten. Und anstatt dies zu begehen, könnten
wir das begehen, aber dann gäbe es irgendwie nicht sehr effizient. Wir können etwas tun, das als Flush bezeichnet wird. Und das ist ein netter Trick, wenn übliche DB-Sitzung Flush. Was? Ähm, Nachfolger Arkham wird es tun. Es wird versuchen, zu imitieren oder simulieren, dass der Datensatz geschrieben ist, und es ist, wenn wir uns das I D geben aber es geht nicht wirklich in die Datenbank, um diese Transaktion aufzuzeichnen. Also tun wir es nicht. Wir können , einfach überprüfen,ob die Transaktion gut läuft. Und wenn nicht, dann können wir es zurück in die Form werfen. Also nach diesem Flush, können
wir tun, wenn Autor I d Also erinnere dich, wie wir hatten ich d, wenn wir es tun. Als wir es getan haben, begehen
die Devi-Sitzung. Hier ist das Gleiche, aber es schreibt es nicht wirklich. Es ist nur so, als würde man den gültigen Validierungsfrieden durchlaufen und überprüfen, ob es eine echte Dame
gibt. Also, jetzt werden wir tun, wenn es ein anderes i d gibt, dann bauen wir ein Blawg-Objekt, und das wäre nur die Formularnamen Daten, und dann der Autor, ich weiß also nicht genug Form hier, aber im Grunde die Autorität, die wir aus dem DB-Sitzungsflush. Also, jetzt machen wir das Gleiche hier, wir sind Ah,
Session-ID und wir werden das Protokoll hinzufügen und wir werden eine weitere Session-Flush machen und sehen, ob alles gut aussieht, bis das bis zu diesem Punkt. es Wennesan diesem Punkt irgendwelche Fehler gibt, ähm, dann können wir eine Sitzung machen. Rollback und Rollback bedeutet, dass Sie wissen, was? Diese Transaktion wird nicht gehen. Nun, lassen Sie uns einfach lassen Sie uns einfachdiese ganze Sache
rückgängig machen und ich werde nur sagen, Fehler erstellen Benutzer an diesem Punkt. Ähm, warum? Denn wenn die Autorität nicht, ähm, wurde nicht geschaffen, dann fallen wir in diesen Block. Also, jetzt werde ich überprüfen, ob Autor ich und das Protokoll I d dann können wir weitermachen und die ganze Sache speichern. Erinnerst du dich, wie ich dir gesagt habe,
dass Commit es dir erlaubt , mehrere Dinge gleichzeitig zu
tun? Das nennt man also eine Transaktion. Eine Transaktion bedeutet, dass Sie eine atomare Art ähnlicher Struktur benötigen, in der Sie einen Autor und auch eine Blawg benötigen. Und dann sind diese beiden Dinge miteinander verbunden, und wenn irgendetwas fehlschlägt, kannst
du das Ganze zurückrollen. So können Sie, wenn Sie oft verpflichtet sind, Transaktionen zu tun, weil Sie wie sind, Sie wollen sicherstellen, dass dieses Stück der Platte oh, oder dass strenge ist gut geschrieben und dann eine andere Sache tun. Also werden wir hier ein anderes haben. Wenn wir also aus irgendeinem Grund die Autorität und einen Blogger nicht bekommen hätten, bedeutet
das, dass wir ein Abendessen hatten, das den Block erschafft hat. Also werden wir hier einen Schwung zurückrollen, und wir werden sagen, Fehler gleich Fehler, Erstellen gebloggt, und es könnte so etwas sein wie,
es gibt, ich fühle mich, dass ist nicht richtig eingerichtet oder es gibt ein Problem verbunden Datenbank. In jedem Fall, wir tun wir nicht, dass wir nicht sagen, den Benutzer oder lassen Sie den Benutzer denken, dass alles in Ordnung ist. Also machen wir Flash? Ähm, Blut kreativ. Nun, eigentlich will
ich das tun. Wenn das gut gelaufen ist, lache. Schau, erschaffen. Und dann, wenn ich eine zurückgekehrte Umleitung Ah, Euro für Ataman. Ok. Und wir müssen im Grunde diese Fehlermeldung hier weiterleiten. Allerdings müssen
wir mögen,
ah, ah, initialisieren Sie es als leer. Also lasst uns Luft gleich leer, denn das erste Mal, wenn du das ausführen wirst, werden
wir nicht haben,
ähm, wir werden diesen Fehler nicht haben. Dieser Luftkontext wurde geschaffen,
also okay,
das sieht gut aus. Dieser Luftkontext wurde geschaffen, also okay, Also Fehler gleich leer, was wir das erste Mal, dass es nicht mehr Blei kaufen wird. Jemand wird einfach hier reinfallen. Es wird das Setup machen, wenn wir uns das nächste Mal treffen. Wenn Sie einreichen wird, um den Autor zu überprüfen. Ähm, ich meine, erstelle das Objekt. Versucht, es hinzuzufügen, spülen Sie es, um den Autor I d zu bekommen. Wenn wir den Autor, ich d. Dann versuchen wir, die Blawg zu tun und versuchen. Wir bekommen
den Block i d.
Und wenn es irgendwelche Fehler gibt,
ähm,
wir haben einen Rückkörper für sein OK geschickt,
dann setzen wir Session Commit mit Speicher, der erstellt aussehen und kehren dann zum Block i d. Und wenn es irgendwelche Fehler gibt,
ähm, ähm, wir haben einen Rückkörper für sein OK geschickt, der Euro für Attman. Das ist also eine Menge Zeug, weißt
du, du kannst das irgendwie doppelt überprüfen. Stellen Sie sicher, dass Sie, wenn Sie etwas nicht verstehen, zurückspulen und die ganze Sache nochmals hören können. Aber sobald du es tust, weißt
du, ein- oder zweimal kriegst du den Dreck. Mal sehen, ob wir irgendwelche Fehler haben. Sieht gut aus. Also lasst uns voran gehen und versuchen, dies zu schaffen. Also werden wir Admin-Schrägstrich einzurichten. wir also, mein Python-Blawg ist der Name. Und, ähm, lassen Sie uns überprüfen, ob wir nicht den vollständigen Namen hier, wenn wir einen Fehler Jorge vom Cyril
Oddo Jorge Passwort-Test bekommen . Wiederholen. Also sollte einen Fehler bekommen. Hier, halten Sie. Da gehst du, Jorge von Terra, du test erstellen blogged. Nein, bin ich nicht. Ich hatte nicht das Ja, ich vermisse die Methoden hier, also Methoden gleich Ah, get and post. Großartig. Sagen wir, das ist quitt. Hier sind keine Fehler. Geh zurück. Ich habe immer noch die Informationen dort. Es ist eine Liste von Test und Test erstellen blawg. Ok, perfekt. Also, jetzt sagt er, dass dieses Feld erforderlich ist. Jorge Escobar Test und Text. Mal sehen, wie das funktioniert. Wir haben auf Sendung auf Admin, aber ich habe das Gefühl, es ist nur etwas, das fehlt. Aber ich denke,
das Datenbank-Zeug
lief richtig weiter. Also lassen Sie uns die Datenbank überprüfen. Also, wenn wir wählen Stern vom Autor dort Sie gehen. Es steht, Ah, wissen
Sie, wir haben unseren Osternamen Vergangenheit für alles ist da wählen Sie Stern aus Log und meinem
Python-Block Perfect. Also sieh mal, wie ich admin habe und das ist wie ein I. D. Dies ist der Fremdschlüssel. Also das, wenn Sie einen Fremdschlüssel haben, bedeutet
dies, dass dieser Datensatz existieren muss und Datensatz im Grunde ein Zeiger ist. Und sobald es verbunden ist, ähm, können
Sie im Grunde tun, äh, was man wie Joins nennt. So können Sie im Grunde wählen Sie Stern aus Block, wissen
Sie, und zeigen Sie die Admin-Informationen hier. Das Kennwort für den vollständigen Namen. Ich meine alles. Also überprüfen wir das ein wenig später. So schlimm, dass wir auf Sendung auf der auf dem Setup oder Admin-Vorlage hatten. Ich denke, es ist der gleiche Fehler, den ich auf dem Setup hatte. HTML. Also es ist auf Blick Contin hier und sehen, ob wir das meine hier haben. Ja, ja. Blut hat ein bisschen geschaffen. Ah, nicht das Richtige oder die Dinge, aber ah, ja, das sind die Blitzmaße. Wenn ich neu lade, wird
die letzte Nachricht verschwindet, und es überprüft,
ob wir
Blockaufzeichnungen haben wird
die letzte Nachricht verschwindet,
und es überprüft,
ob wir
Blockaufzeichnungen haben. So sieht alles gut aus bis jetzt, Ehrfürchtiger Job.
59. Author: Okay, also haben wir unseren Blutverwalter eingerichtet. Jetzt möchte
ich in der Lage sein, sich in den Block einzuloggen. Und die Art und Weise, wie wir das tun werden, besteht darin, eine Protokollierungsfunktion mit einem Formular zu implementieren und die Datenbank für das sintflutartige zu übernehmen. Also lassen Sie uns die Datenbank überprüfen. Um, für eine Sekunde, um
zu sehen, sind wir, dass unsere Basen, ähm, und überprüfen, ob die Tische da sind. Also haben wir die Blawg, dass eine Basis dort, wir werden Balog benutzen und dann Tabellen zeigen. Also haben wir unseren Autor und Blawg. Also, wenn ich Stern vom Autor auswählen, ist es. Ich habe einen Benutzernamen und ein Passwort, mit dem ich testen kann. Also, ähm, lasst uns, äh, in Fällen sind unsere virtuelle Umgebung. Also bin ich hier im Arbeitsbereich wechseln zu flask blawg und tut mir leid, dass die Quelle aktiviert wird. Perfekt. Also denken Sie daran, dass wir diese V M.
V haben müssen , Eltern sind am Anfang, so dass wir wissen, dass wir am richtigen Ort sind, also fangen wir an, an der Einrichtung einer ah Logging-Funktion zu arbeiten, und natürlich, Wir werden das bei den Ansichten hier tun. Ah, vom Benutzer. Und, ähm, wir werden äh, im Grunde an dieser Lugging-Funktion arbeiten da drin. Das erste, was wir tun werden, ist, dass wir ein Formular erstellen P Y um Logging, Logging Formular. Tut mir leid, Leute. Warum? Mal sehen, wie wir das tun können. Ähm, wir
werden, ähm, ähm,eine neue Klasse namens Logging Form großartig. Sie sind in Unterklassenbildung dort, und so werden wir im Grunde den Benutzernamen und das Passwort haben. Also Benutzername ist Stringfield von wir werden Zeh unter dem Benutzernamen fragen, und dann werde ich,
ähm, dass es Pflichtfeld ist, und ich werde die Länge auf die gleiche setzen. Fragte die als diejenige auf der Datenbank. Also mindestens vier Maximum aus 25. Ähm, und das Set für den Verwendungsnamen und das Kennwort. Wir werden alle ein „Wir werden ein Passwort-Gefühl in diesem Fall haben, damit die Leute nicht sehen
, was? Was Sie betreten. Und wir machen das auch erforderlich, und die Länge ist gleich der oben. Also Minimum für maximal 80. Perfekt. Das ist also das. Lass uns das retten. Und jetzt sehen wir uns die Aussicht an, damit wir es können. Nun, zuerst lassen Sie uns die Vorlage machen. Also werden wir hier auf dem Autor einen neuen erstellen. Ähm, aber es wird als Logging HTML Logging Dot HTML genannt. Und dafür werden
wir den grundlegenden HTML-Code erweitern. Und, äh, lassen Sie uns einen Titel einloggen, und dann haben wir ein paar Inhalte da drin. Also, jetzt gehen wir zu einer Ah-Rolle. Und wir werden eine Klasse mit
mittelgroßem Offset drei und einer mittelgroßen Sechs mit Säule haben. Und wir werden eine Klasse mit Und hier werden wir den Titel Benutzer einloggen. Wenn wir einen Fehler haben,
lassen Sie uns hier auf Luft zeigen und den Fehler auf dieser steifen Seite anzeigen. Wenn wir einen Fehler haben, Ähm, und dann werde ich die eigentliche Form haben. Also denken Sie daran, wir hatten die Formular-Helfer hier. Also von Formular-Helfern, die html Nein, es ist auf der Partitur,
um, um, importieren, rendern Feld. Und,
ähm, lasst uns das eigentliche Formular machen, das sich hier öffnet. Methode ist gleich post, und die Aktion ist die, ähm, Europa für Login Roll gleich vier. Also habe ich jetzt meinen Kopf in Tak meine Sears kommen Token, Hass und Tag. Und jetzt habe ich meine beiden Felder. Also rendern Feld für mich. Verwenden Sie ihren Namen Nachname gleich Formular-Steuerelement. Und ich werde Zeh das Gleiche hier haben. Ich werde das Putting steadied Schritt Passwort kopieren und stellen. Schließlich haben
wir eine Schaltfläche Typ gleich senden und die Klasse für, um Bootstrap Standard. Ah, vorher und melden Sie sich hier an. Perfekt. Also habe ich Form gewesen, als sie in der Nähe sind. Und selbst dann, Ende Block. Cool. Das ist also unser, ähm, Logging HTML. Und jetzt müssen wir dies in den Autorenansichten implementieren. Also gehen wir und machen das. Okay, hier müssen
wir ein Formular des Autors hinzufügen,
ähm, ähm, auf der Suche nach so langer Form da drin. Ähm, dann müssen wir es auch
beim Autorenmodell machen, weil wir von der Datenbank aus überprüfen,
die Verwendung von ihnen im Pass, und ich denke, das war's. Also werden wir Sitzungen benutzen. Also eine Sitzung, um den Benutzernamen zu speichern. Das war das richtig eingesperrt. Also, hier werden
wir,
ähm,die Route
machen ähm, , einloggen und sie werden keine Methoden haben. Also werden Methoden sein,
ähm, ähm, get and post,
ähm, ähm, und dann loggen Sie sich ein. Wir nehmen das raus und fangen an, ähm, was zu machen. So Form gleich Logging Form. Und, ähm, und ich werde sagen, dass es für den Moment nirgends gibt. Und, ähm, ich muss die Reform, Doc Validierung auf der Einreichungsmethode. Und jetzt werde
ich einfach vorbeikommen, als würden wir später ein paar Sachen machen. Ich will nur überprüfen, ob das funktioniert,
um, um, sonst geben Sie die Rendervorlage zurück, und wir werden Autor Third Logging Extreme El verwenden, und wir werden das Formular und die Luft übergeben. Okay, also überprüfen wir, ob das funktioniert, und dann machen wir das Zeug. Also lassen Sie mich überprüfen, ob das ist, glaube ich nicht, dass es läuft, weil ich gerade eine neue
Sitzung hier auf dieser Aufnahme begonnen habe. Also werde ich Python machen, äh, b y Run-Server
verwalten und ich sollte meine Sachen hier drin haben. Also ist es zu Admin. Perfekt. Es läuft also. Also, jetzt werde ich Logging machen und Basis ist undefiniert. Was? Seine Basis. Äh, erweitert die Basis HTML. Siehe hier auf den Vorlagen. Grenzen Basis, html. Oh, ich muss Zitate setzen. Tut mir leid, Zitate. Und,
äh, lasst uns jetzt sehen. Ehrfürchtig. Also haben wir in der Regel unseren Namen und unser Passwort. Wenn wir Jorge-Test machen, passiert
nichts. Aber es funktioniert. Gut. Lassen Sie uns die Quelle sehen, nur um sicherzustellen, dass sie an den richtigen Ort geht. Hier ist unsere CSR, wenn ein harter Angriff, und dann, ah, die Form geht Zehe Schrägstrich 11, was richtig ist. Sieht gut aus. Also lasst uns jetzt anfangen, dass ich Operationen in der Ansicht basiere. Okay, also fangen wir an, die Datenbankoperationen hier zu machen. Und, ähm, das erste, was wir tun werden, ist,
dass wir , einen Autor
suchen,der das Mindestpasswort hat,
das wir ähm,
das erste, was wir tun werden, ist,
dass wireinen Autor
suchen,der das Mindestpasswort hat,
das wirauf dem Formular
haben. Also der Weg, das zu tun ist, tun wir den folgenden Autor gleich Autor dunkle Abfrage, die
Filterfilter Filter, durch die im Grunde eine Abfrage ist. A, um eine Auswahl zu tun,
ähm, wo sie bestimmte Bedingungen sind. Also werde ich die Bedingungen tun, die bereits verwendet wurden. Ihr Name ist gleich der verwendeten Form. Ihr Name Daten, und das Passwort ist die Form Passwortdaten. Und, ähm, ich werde das auf eins beschränken, damit wir nur eins bekommen. Dann überprüfe ich, ob der Autor zählt. heißt, wenn es nicht Null richtig ist, dann bedeutet das, dass es einen Datensatz in der Datenbank mit der Verwendung von ihnen gleich mit ihm gibt, dass ich das Formular und das Passwort weitergebe, das ich auf dem Formular übergebe. Also, ähm, dann füge ich Sitzungen fast eine Sitzung hinzu, oder? Wir werden Sessions benutzen, und wir werden eine Sitzung machen. Ah. Welche Sitzung? Warte mal. Es tut mir leid. Sitzung aus. Benutzername, ähm, wird die Form Benutzernamendaten sein. Wir haben in dieser Sitzung den Benutzernamen zur Verfügung. Und, ähm, wir werden die Umleitung zurückgeben. Ah, du bist eine Vier. Und es ist ein,
ähm, war der Erfolg der Protokollierung, was eine weitere
Funktion ist , ,die wir haben werden,
wenn sich Leute
richtig einloggen , und ich denke,es wird eine vorübergehende Sache sein. Ich denke, wir werden hier noch eine andere Funktionalität haben, aber das wirst du in ein bisschen sehen. Also werde ich sie nur zum Erfolg der Protokollierung schicken. Und, ähm und ich werde hier zurückbringen, äh, verfasstes Glück, dann. Perfekt. Also, ähm, wie Revie was überprüft? Wir bleiben einfach. Also, wenn das Formular validiert wird, haben
wir nicht Autor. Ähm, ah. Aufzeichnen. Suchen Sie, wo der Benutzername und der Reisepass mit diesen Formularen übereinstimmen. Wenn das Autorenkonto korrekt ist, dann wird die, ähm Nun,
Sir, Sir, es wird die Verwendung der menschlichen Entscheidung speichern und dann Redirect zur,
ähm,
Zehe der Protokollierung zurückgeben ähm, Erfolgsfunktion, die nur erklären, äh, Autor eingeloggt. Und das sollte Erfolg loving Erfolg sein. Perfekt. Mal sehen, ob das funktioniert. Also, jetzt ist dies nicht wirklich, wie traf die Datenbank. Es muss eine nahe dort gewesen sein, aber das war die Funktion war die gleiche. Aber jetzt ist es in Ordnung. So geringer Gewinn. Also lasst uns zuerst tun. Ich habe das Formular nicht überprüft. Hatte die richtigen Fehler. Das sollte es sein. Also, das ist ein vergessen setzen den Benutzernamen. Ich bekomme dieses Gefühl erforderlich. Das ist also gut. Wenn ich Jorge mache, sagen
wir 123, das ist das falsche Ah, Passwort. Äh, ich bekomme das Feld. Muss zwischen ausländischen 80. Also, das ist ein lassen Sie uns einfach ein paar sagen, Jorge, , sehen,was passiert. Also ja, das geht nicht durch. Und, ähm, also jetzt, wenn ich den richtigen
, der Jorge-Test ist,
dann kriege ich den Erfolg der Protokollierung und ich bekomme, dass mein Autor es
bemerkt, also das ist kritisch
60. Login erforderlicher Dekorator: perfekt. So haben wir unsere Protokollierung funktioniert. Und jetzt möchte ich euch zeigen,
ähm, etwas, das Ah ist, es ist ein ziemlich wichtiges, ähm, Wissen oder oder Muster. Es ist eigentlich ah, so weit Muster nennt man die, ähm, ein Dekorateur. Und wir haben es vorher mit dieser,
ähm,
auf der Route Sache gesehen ähm, ,
was heißt, ähm, ähm, ich habe dir gesagt, dass das bei Schild Fleisch bedeutet, dass es, ähm, die Funktion
modifiziert, die folgt ihm. In diesem Fall wurde die
Protokollierung eingerichtet, so dass der Schrägstrich sich mit diesen Methoden in diese Funktion fällt. Es ist also irgendwie wie ein Modifikator, wenn du es so sehen willst. Und eines der coolen Dinge, mit denen wir telefonisch machen können, ist, dass wir unsere eigenen
Dekorateure machen können, was ziemlich genial ist. Ähm, und ich denke an Sie wissen,
Dinge, die Sie wollen, dass eine mögliche Route eine Art wie eine hübsche Einstellung haben, und die, die wir hier sehen werden. Es ist eigentlich sehr häufig, was heißt, ich möchte sicherstellen, dass die Leute eingesperrt sind, bevor sie auf diese Route zugreifen, und genau das werden wir tun. Wir werden haben oder erstellen unsere eigenen Dekorator genannt Logging erforderlich und Logan erforderlich bedeutet, dass ich nur ich nur ein at Zeichen lang setzen und vor einem aus jeder Ansicht erforderlich. Und, ähm, und es überprüft im Grunde, ob der Benutzer angemeldet ist. Und wenn nicht, dann passiert etwas anderes. Und das wird irgendwie vom Dekorateur gehandhabt. Also mal sehen, wie wir diesen Dekorateur machen können. Und in diesem Fall denke
ich darüber nach, etwas hier in der,
äh im Admin zu tun , was irgendwie so ist, wenn ein , wissen
Sie, was irgendwie so ist, wenn ein, wissen
Sie,
setzen Sie ein sind hier in der Admin-Runde erforderlich. Wie würde das aussehen? Ähm, nun, im Grunde wäre so etwas wie das Folgende, das ich unter dem Admin hätte. Wir wollen die diese Route zuerst haben, weil wir in der Lage sein wollen, zuerst die Funktionsprüfung
für die für diese Route zu überprüfen und dann etwas wie Protokollierung erforderlich wäre. Sehen Sie, das ist
also eine Art wie ein Dekorateur, den ich jetzt füge hinzu, dass überprüft, ob die Person nicht schon liebevoll
ist, er kann nicht in die Anzeige mental und ah, um ach zu sein, um ehrlich zu sein, Ich denke, dass das Abscheuen des Blogs werde ich hier ausziehen, und ich werde es auf den Index setzen, damit,
ähm, wenn Sie so etwas treffen, die Homepage oder die Indexseite Ihres Blawg und kein Blut erstellt wurde, dann ist es Art wie bringt Sie dorthin, Toe machen das Setup statt das zugeben, und im Grunde, weil Sie vielleicht den Admin treffen und Sie keinen Blawg haben. Also, wenn Logan erworben wird, wo registrieren Sie sich, um es zu mögen? Es ergibt nicht viel Sinn. Also, ähm, ja, wir werden das tun, Logan verlangte. Und mal sehen, wie wir diesen Logan benötigten Dekorator implementieren. Also lasst uns weitermachen und unseren ersten Dekorateur kreieren. Und wir werden es ein Autor Dekorator sein, weil es
für Autoren Protokollierung erforderlich sein wird . Richtig? Also lasst uns hier eine Akte machen, und es wird Dekorateure heißen. Wir könnten mehr als einen haben. Also wollen wir sie alle in diese Datei setzen. Also, dieses Muster, es ist irgendwie so, als gäbe es eine Menge Dinge, die wir hier sehen werden, die vielleicht nicht viel
Sinn am Anfang des Tages ergeben. Also mach dir keine Sorgen. Wenn Sie nicht das Ganze bekommen, versuchen Sie
einfach, den Kern davon zu bekommen. Ähm, also müssen wir zuerst eine aus einer Bibliothek importieren, die funktionale Werkzeuge genannt wird. Wir werden diese Funktion namens Wraps importieren, und es ist eigentlich ein Decorator. Ähm, lustig genug, ähm, und wir werden auch aus Flask importieren,
äh, Sitzung, weil wir überprüfen wollen, ob der Benutzer in der richtigen Anfrage eingeloggt ist. Ähm, und Sie werden sehen, warum ich in einer Minute umleite, weil wir die Leute auf die
Anmeldeseite schicken wollen , wenn sie nicht eingesperrt sind, und Ihre vier, um die Anmeldeseite zu finden. Also definieren wir Protokollierung erforderlich. Und das ist der Name des Dekorateurs. Und wir haben zwei Unterklasse es von f, was die,
ähm,
die Funktion ist ähm, . Also werden wir haben, dass dies eine kritische Wraps ist, wenn und dann werden wir gerade diese
dekorierte Funktion definieren , die Thea tatsächlich Fleisch und Knochen davon ist. Um, und wenn Sie Argumente an sie übergeben können und Sie können auch Schlüssel waren Argumente übergeben. Ähm, das wirst du manchmal im Tortentelefon sehen. Und ich glaube nicht, dass wir gesehen haben, dass diese Art von wie Muster hier, aber im Grunde sind dies Lasten in die sind Eier, Schlüsselwort ah, oder Parameter alle die Kunst der Positionsargumente. Und in diesen ke ke ke wrx Koch Schlüssel Kriegsargumente, alle Schlüsselwortargumente, die übergeben werden ,
um, und es ist dieses Muster wird sehr oft verwendet, Also sollten Sie sein, um mit es. Also, wenn eine Überprüfung, ob Sitzung erhalten, ah, Benutzername, Recht, das ist, wo wir die Sitzung, die wir gesetzt. Wenn sich Leute einloggen, ist
es keine. Das bedeutet, dass die Person nicht geliebt wird, ähm, wir werden die Umleitung zum Euro-Vier-Holzlogger zurückkehren. Und hier ist etwas, das ich dieser Funktion hinzufügen werde, denn was passiert, ist diese Protokollierung erforderlich. Die Karriere könnte von verschiedenen Orten aus aufgerufen werden. Und ich bin sicher, dass Sie das auf Websites gesehen haben. Wenn Sie auf der Seite landen und es sendet Ihnen die Anmeldeseite, Normalerweise erinnert es sich, von welcher Seite es gesendet wurde. Und nachdem Sie erfolgreich eingeloggt haben Ihre zurückgesendet. Damit,
ähm, ähm, auf diese Seite, damit wir die nächste Seite anrufen und die Art und Weise, wie wir das tun werden,
ist, dass wir die Anfrage sehen werden. Sie sind l, was die Bitte ist. Ähm, ah. Der Euro der Seite, auf der Sie schlagen, dass Logan Köder benötigen. Ich werde es als Funktion schieben. Ich meine, es ist ein Parameter für die Protokollierungsfunktion, also müssen wir die Protokollierungsfunktion dafür ändern. Also, wenn sie nicht geliebt werden, werden
sie cento die Anmeldeseite mit diesem Partner auf der nächsten Seite sein. Und,
ähm, und das ist es so ziemlich. Wenn sie eingesperrt sind, können Sie fortfahren. Also gehen wir einfach zurück. Die Argumente und Schlüssel waren Argumente, die die Funktion in erster Linie Justice genannt. Wir haben ihn. Und endlich müssen wir nach Korea zurückkehren, um hier zu arbeiten. So können wir jetzt die Ansichten hier für die Blawg ändern. Und was wir tun werden ist, dass wir von Autoren-Dekorateuren Importprotokollierung erforderlich haben , und das war's. , Wenn Sie
also versuchen,den Admin zu treffen, ohne eingeloggt zu sein, gehen
Sie und werden zurück zur Anmeldeseite geschickt. Aber bevor wir testen, dass wir ändern wollen,
denken Sie daran, wie wir die Login-Seite ändern mussten, dass, Es kann er mit dem nächsten Argument umzugehen. Es ist ziemlich einfach. Also lasst uns das machen. Ähm, wir werden sagen, ob, ähm und davor, ich muss die Anfrage hier importieren, weil ich die Anfrage sehen muss. Also werden wir sagen, wenn die Anforderungsmethode bedeutet, dass es kein Beitrag ist, und verlangen, dass unsere Eier nicht als nächstes kommen, ist ah an Ort und Stelle gesetzt? Dann werde ich eine Sitzung machen. Ich werde das in einem Cookie speichern, der als nächstes aufgerufen wird,
und ich bekomme
das , Argument,das ich vom Dekorateur an die nächste oder nächste
Sitzung weitergeleitet werde. Und schließlich, was ich hier tun will, ist, , wenn die Zählung,
wenn die andere kommt,
was bedeutet, dass es eine Person gibt, die Logan gültig ist, dann werde ich überprüfen, ob die nächste Sitzung Wenn ich
eine Sitzung habe, die als nächstes angerufen wird, dann werde ich sie stattdessen zum Erfolg schicken, um sie zur nächsten ah Sitzung zu schicken,
was ein Euro ist, den ich bestanden habe. Also zuerst bekomme ich es, und ich habe Session-Pop gelöscht und schließlich kehre ich zurück, umleiten zu dem, was auch immer du als nächstes bist, und dann ist hier sonst Wenn ich keine nächste habe
,
dann werde ich sie einfach an die Protokollierung senden Erfolg. , Ähm, und sie wollen endgültige Veränderung. Ich werde das Gleiche tun. Um, Protokollierung erforderlich, weil wir nicht auf dieser Seite landen sollten. Protokollierung erfolgreich, es sei denn, Sie sind angemeldet. Richtig. Und dafür muss
ich,
ähm,
vom Autor importieren. Und dafür muss
ich, ähm,
vom Autor importieren ähm, Dekorateure, Dekorateure, Importprotokollierung erfordern. Perfekt. Mal sehen, ob wir irgendwelche Fehler haben. Ähm, wir gehen hier auf Sendung. Oh, ich hab's. Ist es nicht. Wir geben keine Funktion zurück. Bei den Partisanen
haben wir gerade die dekorierte Funktion zurückgegeben. Bei den Partisanen Ähm, durch meine Referenz, um, also speichern wir das und sehen, ob das jetzt funktioniert. Oh, da gehst du. Also die eine Sache, die wir noch keine Abmelde- oder Abmeldefunktion haben, also müssen wir das manuell machen und die Art und Weise, wie ich das mache, ähm, und Sie werden wahrscheinlich öfter damit anfangen, dies zu verwenden, ist die Verwendung der Um, die Entwickler-Tools. Also, wenn Sie zu Ihrem Google Chrome gehen und Sie sehen können, ähm, Sie wissen, sehen Entwickler-Tools genau hier. Ich weiß, das ist außerhalb des Fensters, aber unsere können Sie,
ähm,
aus dem Kommando rufen ähm, . Ich lasse mich das also sagen. Ah, hier, darunter. Und so im Grunde gehen, um Ressource ist. Und wenn Sie in Cookies sehen, werden
Sie sehen, dass wir die Sitzung haben, ähm, da
drin. Also müssen wir das Cookie löschen, so dass es aussieht, als ob wir nach draußen schauen und
wir werden den Lookout danach implementieren, also habe ich das gelöscht. Also, wenn ich diese Seite neu lade, werden
Sie sehen, dass es mich jetzt auf die Anmeldeseite mit der nächsten, äh Art von, , lebensfähig, gefüllt mit dem Admin. Aber ich mag wirklich, ah, als wären wir Charaktere. Und das ist wie, Sie sind alle enthalten, im Grunde, damit Forex tippy das im Euro machen, es ersetzt den Sie wissen, den Semikolon Schrägstrich mit dem, ähm, mit einigen Hexi-Dezimalzeichen. Aber auf jeden Fall sehen
Sie, dass
ich nichtselbst zum Admin-Tool gelangen kann
, , selbst zum Admin-Tool gelangen kann
, ohne eingeloggt zu sein. Also, wenn ich mich hier einlogge Jorge Test, werden
Sie sehen, dass ich jetzt zurück zu der Anzeige geschickt werde, und ich bin geliebt in, ähm, was ziemlich cool ist. Und wenn wir den Entwicklerhocker sehen ,sehen
wir die Kekse. , Sie werden sehen, dass wir unsere Sitzung da drin haben, also funktioniert das perfekt. , Das Gleiche,wenn wir ah, wenn wir aufpassen, versuchen wir,
uns mit dem Linda-Cookie abzumelden. Und lassen Sie uns versuchen, zu unserem Protokollierungserfolg zu gehen
, der auch dort dekoriert wurde. Dasselbe hier. Siehst du, der nächste der nächste. Du bist immer voll und wir können nicht dorthin kommen. Aber wenn wir Jorge-Test machen, dann werden wir zu Glück und Erfolg geschickt und der Cookie richtig gesetzt. Das ist also die sehr nützliche Sache. Um, die Verwendung von Dekoratoren für Logan erforderlich. Und, äh, weißt
du, wir werden uns weiter ein paar andere coole Sachen ansehen
61. Einführung in Migrationen: perfekt. Also, ähm, bevor ich das nächste Thema vergesse und weitergehe Ah,
etwas, das ich wollte, dass wir nicht in der weniger letzten Lektion hinzugefügt haben, waas die Fehlermeldung. Also, wenn ich hierher gehe, möchte
ich sagen können, ob der Autor waas nicht Null zählt. Ich meine, was ist nicht mehr als CEO? Also war er einer. Was ich tun möchte, ist, dass ich eine Fehlermeldung in der Vorlage anzeigen möchte. Also werde ich das nur so setzen, wie Luft gleich falsch ist. Benutze ihren Namen und ihr Passwort. Also, und das ist das ist typisch. Du willst nicht zu viele Informationen an Hacker
verschenken. Ähm
, , wissen
Sie, es ist der Benutzername wurde gefunden oder nicht gefunden. Sie sollten nur,
wie, wie, werfen Sie auf Anfragen,
Namen und Passwort, so dass sie nicht genau wissen, wo der Fehler ist. Und, ähm, und wenn es ein legitimer Benutzer ist, wissen
sie, dass sie einen Fehler gemacht haben. Also, wenn ich hier zur Anmeldeseite gehe, lassen Sie mich versuchen, eine falsche Eingabe mit einem Reisepass. Ich werde Jorge Jorge wieder benutzen. Ich weiß. Ich verstehe das. Ah, diese Fehlermeldung da drin. Das ist also ziemlich gut. Das war's also. Jetzt werden wir zu
einem sehr wichtigen Thema namens Migrationen und Migrationen übergehen , ist im Grunde die,
ähm,
die Art und Weise,
wie wir mit
den Änderungen an der Datenbank umgehen. , ist im Grunde die, ähm, die Art und Weise,
wie wir mit
den Änderungen an der Datenbank umgehen ähm,
die Art und Weise,
wie wir mit
den Änderungen an der Datenbank umgehen. Normalerweise weißt du nie, wann du dich entwickelst, wie wo die Felder, die du für die Datenbank brauchst und du musst,
wie, wie, im Grunde, wirst du es versuchen? Bist du nicht. Mit Sicherheit wirst
du Änderungen vornehmen müssen. Datenbank. Das Problem ist, dass, wenn Sie bereitgestellt sind und Sie den Code auf verschiedenen
Computern ausführen , wie möchten Sie diese Änderungen verfolgen? Nun, Sie könnten eine Textdatei mögen und kommentieren oder,wissen
Sie, wissen
Sie, ich habe eine neue Spalte für den Benutzer hinzugefügt,
und ich habe ein, ähm anderes Blawg-Feld Cold-Tags und solche Dinge hinzugefügt . So wie Sie damit umgehen, ähm, in ah, in einem viel mehr Auswärtsproblem in, wie etwas implementieren, das diese Änderungen für Sie und in Fleisch verfolgt, haben
wir ein sehr gutes Paket namens Wohnungen migrieren. Und da werden wir hier benutzen. Fangen wir damit an. Also müssen wir unsere Anforderungen ergänzen. Txt Dieses neue Paket nannte ich eine Flasche migrieren. Und natürlich, das braucht Sie, um die Leute installieren dies. Also werden wir das tun. Also lassen Sie uns kontrollieren, Sehen, und stellen Sie sicher,
dass , Sie sich im richtigen Ordner befinden und die virtuelle Umgebung einschalten, bevor Sie einen Peeping Stall machen . Denken Sie daran. Also lassen Sie mich das maximieren und,
ähm, wenn es den Bildschirm löscht und wir machen gucken Stall unsere Anforderungen. Also überprüft es alle Anforderungsdateien und dann ist es endlich eine installierte Flasche migriert perfekt. Okay, wir werden die Migration über den Befehl migrieren verwalten. Also müssen wir das dem e darin b y von der Verpflichtung hinzufügen. Also lasst uns hier gehen. Und was wir tun werden, ist, dass wir von ah Flask den txt dot migrieren Import-Migranten hinzufügen . Und jetzt werde ich einen meiner großartigen,
Abschnitt hier hinzufügen , und ich werde einen optischen Migranten haben,
der der
Migrationsfunktion entspricht und ich werde einen optischen Migranten haben,
der der
Migrationsfunktion entspricht. Und ich habe dazu die ap und die DB übergeben. Also, jetzt meine große kann Nein, ähm, was die Anwendung ist und was die Datenbank iss, um und es gibt eine weitere Änderung, die wir tun müssen und verwalten Sie mich. Warum? Weil wir in der Lage sein wollen. Wie ich schon sagte, lass es von dort aus
laufen. Also, was ich hier tun werde, ist,
dass ich auch
aus Kolben importieren muss . Txt. Mein großartiger Import, mein großartiges Kommando. Und so, unter Manager, werde
ich diesen neuen Befehl hinzufügen,
der heißt , ,
wir nannten D B und migrieren dann Kommentar und lassen alles andere gleich. Also gehen wir auf ihre hier, verwalten. Oh, Manager. Tut mir leid, Manager. Da bist du. Also, jetzt werden wir sagen, dass wir anfangen, Migrationen durchzuführen. Okay, also der Anwendungsfall, den wir hier haben werden, oder die Notwendigkeit der Migration zunächst, wird folgendes sein. Wir wollen sehen speichern Passwörter sicherer. Ähm
, stattdessen, aus Denken Sie daran, wie wir hier den Passwort-Test da drin haben, als ob Sie es tatsächlich sehen können . Und was passiert ist, wenn Hacker Zugriff auf Ihren Datenbankserver bekommen, ähm, obwohl natürlich wissen, dass
Sie sie sehr gut schützen können. Und wie Sie die Schlagzeilen gesehen haben, ist
es ah, es ist irgendwie wie diese These. Hacker sind sehr, ähm, beharrlich, und sie kommen durch eine Menge der ah Art weg, wie Server Secure ings und Firewalls und all das, und sie können in die Datenbank gelangen. Was wir also tun wollen, ist, dass wir dieses Passwort verschlüsseln wollen, indem wir eine Art wie Verschlüsselungsmuster verwenden, so dass Sie selbst wenn diese Hacker Zugriff auf Ihre Datenbank bekommen, er kann nicht nur Sie den Pass in ihrem wie, plain Text, dieser goldene Klartext, wie Sie es tatsächlich in der Datenbank lesen können. Stattdessen möchten
wir eine Art Verschlüsselung verwenden, so dass, wenn der Hacker keinen Zugriff auf Ihr Verschlüsselungssalz hat, was irgendwie wie die zufällige Zeichenfolge ist, die wir verwendet haben, um es zu verschlüsseln, er schwer für sie, es zu überprüfen oder zu entschlüsseln. Also lasst uns das dafür Zoo. Wir müssen,
ähm, ähm, im Grunde klar, dass die Tabellen, denn von diesem Punkt an wird sich
das Migrationssystem kümmern, wie Erstellen und Ah, Initialisieren der Tabellen . Dafür werden
wir die Python-Shell benutzen und diese Umgehung aus der Fortsetzung
Siegel Alchemy benutzen. und diese Umgehung aus der Fortsetzung Mal sehen, wie wir das machen. Also lasst uns voran und rufen die,
äh, äh, Shell per Telefon verwaltete B y Shell an. Und wir werden von Flask Glug DB importieren, die der Datenbankmanager ist, und wir werden den fallenden DB Drop Ball ausgeben. Und seien Sie vorsichtig damit. Dies löscht
wirklich alle Tabellen für immer. Hier gibt es kein
Unrecht, aber wir wollen es tun, also machen wir es. Also, wenn ich jetzt in Schautische gehe, habe ich keine Tabellen über die Ideen, die Migranten von diesem Punkt an in der Lage sein werden,
damit umzugehen . Also lasst uns verlassen. Und, ähm Also, wie machen wir den Migrationsprozess? Nun, das erste Mal, wenn Sie es ausführen, nachdem Sie Ihre Tabellen fallen gelassen haben, und hoffentlich tun Sie es
das nächste Mal von Anfang an, ähm, Problem. Mach das folgende Python verwalten warum, ah db darin. Also darin ist es ein Befehl von ihnen migrieren. Äh, irgendwie wie ein komplettes Toolset, mit dem Sie, ähm in einem Migrationsordner zu Ihrer Anwendung können. Von diesem Punkt an werden
alle Änderungen von diesem Ordner aus verfolgt. Mal sehen, was hier passiert. Perfekt Also, wenn Sie hier überprüfen, werden
Sie sehen, dass es einige Migrationen gibt. Ah, Ordner. Es ist ein neuer Ordner. Und dieser Ordner wird sein, können Sie einchecken,
bekommen, so dass es tatsächlich empfohlen wird, dass Sie durchchecken, weil Sie dann im Grunde die Änderungen im Laufe der Zeit aus Ihrer Datenbank
sehen können . Und hier sagt es, dass ein Check Olympic I und ich, bevor Sie fortfahren. Also werde ich das überprüfen, und es ist im Grunde, ähm, eine Liste von ähnlichen Einstellungen. Ähm, normalerweise sind das, die sind gut. Und hier werden
wir versuchen,es jetzt zu tun,
dann machen wir die anfängliche Art wie eine Momentaufnahme. Und hier werden
wir versuchen, es jetzt zu tun, Die Art und Weise, wie Sie das tun, ist immer dort, wo Sie es tun, jedes Mal, wenn es sich in einem Tempo ändert . Dein erster verwaltet mich Python? Warum, Baby wandern. Und dann verwalten Sie Python Maestri. Warum db uh, oben Groß. Also meine große und operieren, diese beiden sind die Kommentare. Also lassen Sie uns immer noch die 1. 1 von Donner verwalten mich. Warum db meine große Und das wird hier eine Sekunde erstellen, eine Datei mit einer Art wie einem Hash und das Hash wie die Ablenkung. Also lass uns hier sehen. Und wie Sie hier sehen können, werden
Sie sehen, dass es eine Art Revision dessen ist, was passiert, wenn, Ah, wenn das. Dies diese erste ah Art von Dateien, wo erstellt wurden, So werden Sie sehen, dass es
hier zwei Abschnitte gibt . Lassen Sie mich das größere Upgrade setzen, was bedeutet, was ist der Weg nach vorne und Downgrade, was ist der Weg dahinter? Weil Sie auch Bison Management tun können. Warum DB Downgrade und was wird passieren? Es ist es. Es ändert die Datenbank in den vorherigen Zustand. Es ist also eine ziemlich mächtige Sache. Also, aber für alle großartig, Sie werden sehen, dass es im Grunde ist es sagen, für die nächste Sitzung. Erstellen Sie einfach den Tabellenautor mit dem i. D. Vollständiger Name im Puzzle und sehen Sie, dass es alle Dinge hält, die wir auf unserem
Modell hatten , mit der primären Einschränkung und der eindeutigen Einschränkung. All das und dann wird es auch die Blocktabelle erstellen. Das ist also ziemlich hübsch, ziemlich cooles Zeug. Und jetzt,
äh,
was ist hier los? Und jetzt, äh, Haben wir diese Ställe hier drin? Mal sehen. Nein, wir haben nur einen olympischen Perser. Das ist sehr interessant. Und was diese olympische Version tut. Ist es eine Art von Spuren auf dem Elevate selbst? Ah, was die aktuelle Version ist und was die Ablenkungen vorher,
Äh, Äh, ich denke, es ist nur eine koreanische Version. Ähm, ich mag mich irren, aber ich denke, es ist nur eine koreanische Version, so dass sie irgendwo eingelagert wird. Nicht auf dem Dateisystem. Was das, was die aktuelle Version ist, so dass er den Überblick behalten und über das
Dateisystem durch diese Versionen nachschlagen kann . Was ist der vorherige? Was ist das nächste? Ähm, so ziemlich coole Sachen. Aber wie Sie sehen können, hat
es die Tabelle nicht erstellt. Mist. Wie erstellen wir sie mit einem Python? Mich verwalten? Warum? DB-Upgrade? Und denken Sie daran, es sind immer diese zwei Dinge. Meine große ist, du machst den Wechsel der Umbauten. Ähm, du bist bereit zu gehen. Sie migrieren, so dass er das erzeugt. Diese Version, diese Datei. Sobald die Datei, überprüfen
Sie es. Sieht gut aus. Ähm, dann machen Sie telefonisch Minuten. Wir wollen ein großartiges sein, und das ist, wenn die tatsächlichen Datenbankänderungen passieren. Also lasst uns das machen. Perfekt. Es steht also, dass es das Upgrade ausgeführt hat. Nichts ist passiert, aber jetzt, wenn wir sehen, wie ein Limerick-Mensch aussieht. Ja, es sind drei B C C C C. Es ist die gleiche Akte hier. Also, das ist die aktuelle Version auf Wenn ich die Tabellen zeige, werden
Sie sehen, dass wir jetzt Autor und Blogger haben, wie wir es durch db erstellt haben alle so ziemlich coole Sachen erstellen würden. Und, ähm ,
wir werden , irgendwie damit arbeiten,um so etwas sicherere Passwörter für
unsere Benutzer zu erstellen .
62. Mehr sichere Passwort: Okay für unsere Verschlüsselung. Wir werden ein Paket benutzen,
um,das um, von B Crypt
genannt wird. Und so werden wir das zu der,
ähm, also ihre Anforderung Txt speichern diese Datei. Und hier gehen
wir nach Python. Ähm, nicht telefonisch. Tut mir leid, Pip. Installieren Sie unsere Anforderungen. Txt. Also, jetzt installiert es Leute. Pfeife entschlüsseln. So perfekt. Sehen wir uns an,
wie wir
die Modelle ändern müssen ,
unddann auch den Registrierungsprozess für das oder das Blut,
umes sicherer zu machen. ,
und dann auch den Registrierungsprozess für das oder das Blut,
um ,
um Also das erste, was wir zwei Möglichkeiten haben, zu Blawg-Ansichten zu gehen und schauen wir uns wie wir das machen. Ähm, wir werden mit der Krypta importieren. Hier, sei Krypta. Entschuldige, sei Krypta. Und, ähm, also unter der Einrichtung, Was wir tun wollen, ist, dass wir zuerst Folgendes tun müssen, um
Angriff zu erzeugen , und, ähm, dieses Salz ist irgendwie wie ein zufällige ,
äh, Art wie Hash, der verwendet wird, um das neue Passwort zu generieren. Und wir werden das Hash-Passwort speichern uns die große Krypta Hash. Peter B, das ist eine Funktion, die wir erstellen, hat die Passwortdaten, die wir aus dem Formular erhalten haben, und wir haben mit diesem
Salz, das wir gerade generiert haben, aufgenommen . Statt der ausländischen Passdaten werden
wir dieses Hash-Passwort speichern. Statt der ausländischen Passdaten werden
wir dieses Hash-Passwort speichern. Statt der ausländischen Passdaten werden Perfekt. Ähm, das Einzige ist, wie ,
ähm ,
wir wollen die ah ändern,
die Passwortlänge für die Benutzer, weil es immer ein 60 Zeichen erzeugt -Passwort. Also lasst uns weitermachen und das tun. Wir gehen zu den Autorenmodellen, und ich mache P D B Spalte TV ah, die Saite. Und stattdessen, ab 80 werden wir 60. Ich weiß, das ist keine große Veränderung. Ich will nur, dass ihr gerne den Rhythmus abnimmt. Ähm
, wie man Dinge in der Datenbank ändert und dann die Einwanderungen macht. Obwohl ich sagen werde, ähm, wenn Sie auf lange Sicht 20 zusätzliche Charaktere drin haben, würden
Sie viel mehr Speicher verwenden, also ist das definitiv etwas, um ein Auge zu behalten. Aber bevor wir die Migration durchführen, gibt es etwas, das ich gerne online eingecheckt habe, und es scheint, als ob es ein Fehler ist? Ähm, die Migrationsbibliothek. Obwohl die Leute sagen, dass es sein könnte, dass der Autor wollte sicherstellen, dass die Menschen dies tun
zu verkörpern, In jedem Fall, um, Sie müssen auf Ihre gehen, um e M v p Y-Datei und tun Sie die folgende Änderung in dem es Kontext sagt. Lassen Sie uns den Kontext hier konfigurieren sehen. Es steht „Verbindung“. Es wird Verbindung. Ziel aus Daten. Es gibt eine, die wir hinzufügen müssen, die verglichen Kutteln Typ entspricht Wahrheit. Und der Grund dafür ist, dass, wenn Sie dies nicht hinzufügen,
um, um, ändert sich
diese Einstellung auf der E M v b y an den Spalten selbst, wie eine Typänderung oder eine Längenänderung, wie wir es bei den Autorenmodellen hier getan haben nicht abgeholt werden. Das ist also etwas, das ich lieber nicht alle E mag. Ich meine, das würde ich nicht ständig haben wollen. Also, ähm, stellen Sie sicher, dass Sie diese Änderung auf Ihrem ah tun, Sie gehen zu Migrationen E M V P Y und um Zeile 75 sehen Sie eine Kontext-Punkt-com-Figur bei diesem Vergleichstyp gleich wahr Aber in jedem Fall sollte
das die Kontrolle für den Objektivwechsel abnehmen. Also, jetzt , gehen
wir weiter und machen die Migration. Also, ähm, es ist hier. Also von einigen, verwalten Sie mich Warum? Db um migrieren und zu sehen, was passiert. Perfekt. Also, jetzt haben wir eine neue und Sie Datei und ich glaube, es ist die, um die mit a d a v e n und mal sehen, wie das aussieht. Also jetzt sagt es, dass die,
ähm, dass das Passwort wird jetzt 60 statt Hilfe sein. Und, ähm, das ist etwas, das ich auch merke, dass es wie ein Fehler aussieht. Es überprüft,
das heißt, Autor ist, dass es von Barren zu winzig wechseln muss und ich bin mir nicht sicher, warum, weil wir uns nicht geändert haben. Das Feld ist Autor. Es war schon immer ein Anlagebarren. Das ist also etwas, das, ähm ,
ich meine, es ist
nein, nein, es ist keine große Sache, eine große Sache. Ähm, aber ... und es sieht so aus, wenn du siehst, werden sie herabgestuft, es sagt, es ändert sich von winzig und ich meine, zu Bullion zwei winzige. Und so sagt es im Grunde, dass die Existenz, Diabetes ein winziges es und es wird zu Toe Bullion gehen. Ich bin mir nicht sicher, ich kann es lassen. Ah sagt, ah Körper für dich. Ich meine, Sie sind mehr als willkommen, diese Datei zu bearbeiten, aber auf jeden Fall haben
wir unsere Migration. Ähm, Version. Alles sieht gut aus. Lasst uns die Migration machen. So von einigen verwalten mich. Warum, db uh, Upgrade. Und das sollte die Datenbank ändern. Perfekt. Da wir
also nichts hier haben,
werdenwir keine Änderungen sehen,
aber,
ähm,
aberes sieht aus wie alles. Da wir
also nichts hier haben,
werden , wir keine Änderungen sehen,
aber,
ähm, aber ähm, Es funktioniert. Gut. Also, das ist gut. Also lasst uns das versuchen. Uhm, ich werde Python mich verwalten. Warum? Server laufen und wir sollten unseren Server einsatzbereit haben. Also jetzt, wenn ich auf die gehen lassen Sie es sagen, dieses Cookie, so dass wir ausgesperrt sind und lassen Sie uns auf
die Startseite gehen , sollten
wir umgeleitet werden, um einzurichten. Und doch hat das ziemlich gut funktioniert. Also lassen Sie uns unseren Blawg-Namen erstellen. Ich nenne es mein mit etwas Blut. Also mein vollständiger Name, E-Mail, Benutzername und Passwort werden , Jorge sein,um es einfach zu machen. Ah, und dann werde ich Blut erschaffen. Und jetzt werde ich auf die Anmeldeseite geschickt, weil ich nicht eingeloggt bin, was Sinn macht. Aber ich möchte sehen, ob ein solches Ganze wie, ähm, Dinge wie mit dem Hash-Passwort funktioniert hat. Also gehen wir hier zu unserer Fortsetzung. Und für den Fall, ähm, dass
du aufholst. Du hast das hier nicht offen als ich. Du machst meine Fortsetzung. Um, CTL, um eine Lüge zu sehen. Dann benutze blawg. Entschuldigung, verwenden Sie Balog und zeigen Sie dann Tabellen, um zu sehen, welche Tabellen wir haben. Es gibt Autor, so jetzt sollten wir wählen Stern vom Autor und perfekt. Siehst du, jetzt habe ich den Pass nicht, weißt
du, Jorge, was ich eingegeben habe. Aber es ist eigentlich so ein sehr langer, seltsamer Hash
, der es viel sicherer macht. Also lass mich das größer machen. Das ist also, das ist viel besser. Und wenn ich den Block überprüfen lasse, um zu sehen, ob er richtig erstellt wurde und doch mein Python-Block, ist
das, was ich eingegeben habe. Das funktioniert also perfekt. Es gibt noch eine Sache, die wir vorher tun müssen. Ah, und in diesem Ah, dieser Lektion und das ist, wir haben nicht die Schecks für die Login-Seite, um Crypt zu verwenden. Also lasst uns das ändern. So, dass es tut. Also hier, um ich gehe nach oben und importiere Entschlüsselung, und dann werde ich die folgende Änderung vornehmen. Ich werde nicht nach Passwort filtern, weil das Passwort, das der Benutzer eingibt, nicht
das gleiche sein wird , das in der Datenbank gespeichert ist, weil das verschlüsselt ist. Also, was ich hier mache, ist, dass ich eine Abfrage erstellen werde, die mir Autoren gibt, die den
Benutzernamen haben , ähm, den gleichen. Und dann werde ich überprüfen, ob es ein Konto gibt. Ich meine, es gibt einen Benutzer, der diesen Benutzernamen hat. Dann möchte ich den Scheck für den Pass machen. Also, hier zu tun, wenn Autoren zählen wahr ist, gibt es mehr, als es mehr als Null gibt. Dann werde ich sagen, der Autor ist die erste 1 von diesen Autoren von Null, weil dies unsere Liste von Autoren
zurückgibt, auch wenn es nur einer ist. Und dann werde ich folgendes tun, was ich tun muss, um diesen Hold Look wird eingerückt sein. So wählen Sie alles, was beeindruckt. Lasche ein. Dann gehe ich zu folgendem, zu dem ich ging. In Ordnung, ähm, ich werde tun, wenn Krypta sein. Ich dachte, Josh pw aus Form von Passdaten, Ähm, und dann auch Passwort, das ist das Passwort, das ich bekomme, was dieser seltsame Hash ist, der das gleiche wie das Autorenpasswort sein muss. Und es gibt so, du das nicht verstehen musst, dass
du das nicht verstehen musst,
aber es ist irgendwie so, wie du kontrollierst, dass es derselbe Pass ist. Sie übergeben das Passwort, das Sie aus dem Formular auf eine verschlüsselte mit dem Salz aus, das aus dem Passwort, ähm, das Sie auf der Datenbank haben. Und wenn das den gleichen Hash zurückgibt, fragte diesen Autorenpass, dann bedeutet das, dass es dasselbe Passwort ist, also ist es ein wenig kompliziert, aber so funktioniert es in, und Sie werden sich daran gewöhnen Muster. Also, ähm, wenn das der Fall ist, dann ist die Sitzung der Name, sagte
er zu dem Benutzernamen. Wenn es eine nächste gibt, dann erhalten Sie die nächste aus der Sitzung. Der kleine Keks und dann zurück Reducto. Als nächstes kehrten
alle Weisen zum Erfolg der Protokollierung zurück, das ist die andere, die aussieht, die Sie landet. Wenn die Protokollierung korrekt ist, ähm, wenn das nicht funktioniert hat, all die älteste Sache, wie das Passwort West falsch oder es gab keine andere Zählung. Ich werde nur sagen, dass es eine Fehleranfrage bezüglich eines Passworts gibt. Ähm, das war's. Also, ähm, also, tatsächlich, das,
wenn will , wird hier weitergehen, und er wird seine andere nicht ausführen. Also muss ich wahrscheinlich tun und noch ein anderes identisch drinnen. Das ist die Solar hat Recht. Du siehst White. Warum ist das? Denn wenn das Passwort falsch ist, aber es wurde ein Benutzer mit diesem Benutzernamen gefunden, dann tut es das anders,
aber sonst fällt es einfach hier aus, ohne Arab gesetzt zu sein. Also lassen Sie uns das versuchen und sehen, ob das funktioniert. Mal sehen, ob ich irgendwelche Fehler habe. Ähm, sieht gut aus. Also lass mich versuchen, mich anzumelden, damit ich Jorge falsch einloggen werde. 12345 Es sagt in Korea, Verwendung und Passwort. Siehst du, das ist perfekt. , Das bedeutet,
dass es eine Überprüfung der Datenbank gab und das funktionierte nicht. Also werde ich Jorge Jorge machen, was der richtige ist. Und ja, wir haben den Zeh. Der Admin, ähm, es sagt, Blue erstellt. Dies ist eine Flash-Nachricht aus dem Block. Wirklich? Das haben wir vorher getan, weil er noch nie hier gelandet war. Aber das sieht gut aus. Und alles funktioniert einwandfrei. Je weniger wir ändern, die ich wollte, ist auf der Vorlage. Ich will
eine längere Funktion haben . Also lassen Sie mich zum Admin gehen, und ich werde die folgenden hinzufügen ihre Ähm, also ist es, ähm nur ein Absatz waren jetzt etwas schnelles. Willkommen. Ähm, und dann werde ich die Sitzung drucken. , Du kannst es tun,wenn du ihren Namen verwendest, oder du kannst, ähm, so. Es ist dasselbe, aber ich mag den Hund. Ähm, ich mag eine Art Schreibweise hier, und dann werde ich eine h ref machen, die Ihrem l entspricht,
um ich mag eine Art Schreibweise hier,
und dann werde ich eine h ref machen, die Ihrem l entspricht,
um
sich abzumelden und ich werde eine längere Funktion implementieren, weil ich nicht weitermachen möchte,
um, sich abzumelden und ich werde eine längere Funktion implementieren, weil ich nicht weitermachen möchte, um, die Cookies manuell mitteilen. Also? Sehen wir uns diese Verbindung an. Also, wenn ich hier aktualisiere, habe ich noch keine längere Funktion, also lasst uns Dio,
ähm, ähm, Autorenansichten. Und dann ist das,
um, ähm, so
abmelden. Ah, Schrägstrich Loggen Sie sich ab und ich werde herausfinden, wir die, ähm, Sitzung den Benutzernamen abknallen und ich werde einfach zurückkehren. Umleiten von zwei Euro für den Index. Okay, mal sehen, das hat funktioniert. Also gehen wir zum Admin. Perfekt. Wir werden ihren Hit begrüßen. Pass auf, pass auf! Ehrfürchtig. Wenn ich zu gehe, sagen
wir admin,
ich werde gebeten, mich anzumelden. Das tue ich, Jorge, Jorge und ich schauen noch mal. Also eine Menge Sachen, die wir abdecken, Wir haben ein sichereres Passwort. Logging funktionierte, und Low God funktioniert jetzt auch, also sind wir bereit, mit der nächsten Lektion zu übergehen.
63. is_author: Okay, wenn ich hören wollte, seine jetzt ist im Grunde ich überprüfen. Wenn die, wenn der Autor, äh, die es nennen könnte, der Autor existiert. Und dann würde ich sie zurück auf die Admin-Seite schicken. Aber
ich möchte den,
ähm,
den Ost-Autor überprüfen. Aber
ich möchte den, ähm,
den Ost-Autor überprüfen ähm, Also denken Sie daran, wir haben diese östliche Autor-Flagge auf dem, ähm auf dem USAir-Modell auf dem Autorenmodell im Grunde isst. Der Autor ist einer. Die Idee hier war, dass einige Leute, die sie erhoben werden, nur kommentieren können, und nur derjenige, der Autoren sind. Ich entweder diejenigen, die Beiträge erstellen können, sollten. Das ist Autor wie eingeschaltet. Also, ähm, wenn sein Autor syrah oder falsch ist, dann bedeutet das, dass sie nicht zum Geldautomaten gehen können, und sie können es tun, sie können kommentieren. Sie müssen sich registrieren, um kommentieren zu können, aber Sie können keine Blockbeiträge erstellen. Also möchte ich anfangen, ein bisschen darauf zu
arbeiten. Ähm, die andere Sache, die ich tun möchte, ist das, ähm, auf dem gebloggten. Wenn ich die Benutzer bekomme, möchte
ich , das etwas besser
machen,anstatt diese Liste von Benutzern zu haben? Ähm, was Ah ist, ich meinte, dass die Protokollierungsfunktion diese Autoren ankommt und wenn Autoren Autoren
Null zählen , sieht
das etwas seltsam aus. Lassen Sie mich also wieder Faktor, und machen Sie es ein wenig besser. Also hier, ich werde nur den ersten Autor bekommen, indem ich den folgenden Autor gleich Autor, Abfrage Filter nach, ähm, verwenden Sie den Namen ist die Namensdaten und dann nur, um, Änderungen an zuerst. Und zuerst ist es ein Befehl, dass es in der Abfrage verfügbar ist. Uh, Objekt. Also gibt er nur den ersten Autor zurück, und dann werde ich nur sagen, wenn Autor dann die folgende Saison tun, sieht
es so viel besser aus. Als ob es ah ist, wir sind nicht wir zählen nicht. Und dann die Autoren von Null zu machen, sieht
es viel besser aus. Und dann Deal. Die Sache ist die Sitzung. Und wenn ich will, will ich anfangen. Ich möchte mit dem Speichern in einer Sitzung beginnen. Die Flagge des Ost-Autors. Okay. Und das ist Autor dieser Autoren. Also, wenn dieses Flag, wenn dieser Wert aus dem Modell falsch ist, dann werde ich fallen für Sitzung speichern ist Autor. Und wenn es wahr ist, dann werde ich True speichern. Also, was ich jetzt tun will, ist, dass ich, ähm, ähm,nach dem einzigen Blawg-Admin
suchen werde. Und die Art und Weise, wie ich das tun werde, ist die folgende. Ich muss hinzufügen,
ähm,
Sitzung hier und an Bord. Ich muss hinzufügen, ähm, Es ist im Grunde wie ein,
ähm, ein Dienstprogramm, um wie nicht normale HTTP-Rückgaben zurückgeben zu können. Und wir können so etwas wie vier oder drei zurückgeben, was da ist, um Code für nicht autorisiert zu sein. Wir werden sehen, wie wir das umsetzen. Ähm, also hier, werde
ich auf dem Index tun. Ähm, nein, eigentlich, vom Admin. Direkt am Admin, den ich überprüfen werde,
um, um, wenn Session-Hund seinen Autor bekommt, dann geben Sie den Admin-HTML
zurück, sonst, Rückkehr bei Abbruch von vier oder drei. Also lasst uns das überprüfen. Also werde ich aufpassen und dann werde ich mich wieder einloggen. Ich werde versuchen, zum Admin zu gehen, und dann will ich Jorge Logan machen. Das funktioniert doch. Ah, das bedeutet, dass er meinen Ost-Autor überprüft hat, um hier zu
flaggen. Und, ähm, und damit es wahr ist. Also kann ich auf die,
ähm,
die Anzeige mental zugreifen ähm, , aber wie testen wir, , wenn ein anderer registriert ist, aber es gibt keine Autorenflagge. Wir könnten die Register-Funktion verwenden, die wir zuvor geschrieben haben. Ähm, aber, ähm, das setzt sich im Grunde. Ich glaube, der Autor ist wahr, ähm, automatisch. Ähm, also ist das hier drin, direkt in Models. Also Oh, so sagte seine Autorität, dass sie durch die Schuld fällt. Außerdem, ich denke, es ist es es tut es würde funktionieren. Wenn wir das Register benutzen. Oh, aber wir machen ja nicht, wir machen hier nichts mit dem Model, also ja. Also, was wir tun wollen, ist,
dass ich vorübergehend mein Eis meines Admins einrichten möchte. Nicht ich. Meine Ost-Autor-Flagge auf falsch. Und überprüfe, dass das nicht funktioniert und hol dir die vier oder drei. Also werde ich das durch die Schale machen. Also werde ich vorbeigehen, um mich zu verwalten. Warum Shell? Und dann werde ich sagen, von Autorenmodellen Importangebot, und dann haben wir den Autor gleich Autor, der, ähm sehen, äh, Abfrage nicht filtern nach, und ich möchte, äh, verwenden Sie ihren Namen gleich Jorge zuerst. Es ist, wenn ich Autor habe. Da ist es. Also, wenn ich überprüfe, dass der Autor hier ist, werde
ich sehen, dass es wahr ist, richtig? Also, was ich tun muss, ist, dass es falsch ist. Also fällt der Autor East, und dann muss ich es begehen. Also muss ich nur,
ähm,
den seltsamen Autor machen ähm, . Nun, ich muss aus dem letzten Glogg Import BB importieren. Also glaube ich nicht, dass ich das tun muss. Sie müssen keine Fernsehwerbung machen. Ich muss nur DB-Sitzung Commit, damit diese Änderungen gespeichert werden. Also komm es. Und wenn ich den Autor jetzt überprüfe, ja, ich sehe, dass es jetzt Null ist. Er sah drei Syrien. Also lasst uns versuchen, nach draußen zu schauen und ich werde versuchen, die Zehe hochzufahren. Ich muss die Anwendung ausführen. Halten Sie fest. So verwaltet Python Raumserver Perfect. Lassen Sie mich versuchen zu gehen, Männer sehen aus und ich werde Jorge Jorge tun, was das richtige Passwort ist, und sie werden verboten. Perfekt. Das ist also zu überprüfen, ob der Ost-Autor Ah, Flagge falsch ist. Das ist also nicht, dass nicht fliegen wird. Sie sind nicht berechtigt, zum Admin in der Blutpost zu gehen. Aber Sie sind Sie in der Lage, potenziell Kommentare zu den Beiträgen zu tun. Also lassen Sie mich das wirklich schnell ändern, damit wir diese Funktionalität wieder haben. Also von Kolben Log Import, Phoebe und dann von Autorenmodellen Importangebot. Und lassen Sie mich sehen, ob ich das hier drin habe. Also Autor entspricht unserer diese Abfrage. Nicht zuerst. Das gibt mir den ersten Autor. Das ist also eine andere Möglichkeit, das zu tun. Und dann werde ich Autor machen, der Ost-Autor ist wahr. Und dann Devi Session Komet. Also lassen Sie mich überprüfen, ob ich diese Flagge auf „Perfect“ schalten habe. Und ich gehe zum Admin. Ich muss die Bewerbung falsch machen, und ich werde auf Jorge aufpassen, Jorge. Und ich bin froh, wieder zu unterstützen. Das funktioniert also. Perfekt. Wenn ich
64. Das Post- und Category: perfekt. Also fangen wir an. Ah, an einer Block-Post-Funktionalität arbeiten. Weil das ein Block ist
und wir wirklich nichts getan haben? Weil das ein Block ist Zehe Ah, Blutpfeiler ,
was die
zentrale Sache ist , die Sie hier erreichen wollen. Aber Sie wissen, Sie, Sir, Identitätsdinge brauchen immer eine lange Zeit. Und,
ähm, aber hier sind wir. Wir sind bereit, mit der Erstellung dieser Postblock-Post-Funktionalität zu beginnen. Das erste, was wir tun werden, ist, dass wir einen Beitrag und eine Kategorie in der
Blockmodelldatei erstellen . Also fangen wir an, das zu tun. Also erstellen wir eine neue Klasse namens Post, die eine Instanz ist, aus der Abschlag me moralische Klasse. Und so werden wir ein I D. haben , das es ein Praktikant ist. Sicher. Primärschlüssel ist gleich „true“. Das ist unsere primäre, äh, ich fühle mich. Dann haben wir einen Blawg i d also wollen wir eine Beziehung innerhalb der Blawg und der Post haben. , Dafür machen
wir einen Fremdschlüssel,genau wie wir es vorhin mit dem Blut und dem Autor getan haben. Und das wird jeder Lehrer sein. Und es ist ein Bodenbelag Schlüssel zum Blawg I d. Als nächstes haben
wir den Autor, i d und das ist auch ein Fremdschlüssel. Das bedeutet also, dass wir,
ähm, ähm, für hier müssen. Es wird eine weitere DB-Säule sein. Ah, es ist auch eine ganze Zahl. Und in diesem Fall ist
der Fremdschlüssel die Idee des Autors. Jetzt haben wir Titel und Titel wird ein String von 80 Ärzten sein, und wir haben ihren Körper,
und das wird,
ähm,
ein TV-Text sein. Jetzt haben wir Titel und Titel wird ein String von 80 Ärzten sein, und wir haben ihren Körper, und das wird,
ähm,
ein TV-Text sein ähm, Wir haben diesen Texttyp noch nicht früher über Texas gesehen. Irgendwie ist es ein großes Stück aus Charakteren und Texas perfekt für den
Blutkörper . Ähm, wir werden etwas haben, das man eine Schnecke nennt. Die Schnecke in, ähm, zu Internet-Begriffen, er ist im Grunde die ganze ,
äh, irgendwie wie Kennung für das Mädchen. Aus diesem Artikel, und Sie können sehen mal sehen, schwächen, Sehen Sie eine Schnecke. In diesem Fall wäre
die Schnecke 20 waren Schrägstrich blawg und in Schrägstrich 2015 10 20 Fortsetzung Alchemy. Alles, was ist, ist eine Schnecke. Also die Slogans im Grunde bedeutet es normalerweise, den Titel aus zu haben. Der Artikel machte irgendwie so, als ob Sie alle kompatibel sind, um zu sehen, wie Bindestriche
die Leerzeichen hier ersetzen , und es ist alles untere Großbuchstaben. Es gibt also tatsächlich eine Bibliothek, die es uns erlaubt, dies zu tun, und wir werden uns das ansehen. Aber im Moment ist
es nur die A TV-Säule. Ach, off string off 256. Und wir werden das machen,
ähm, dass es einzigartig ist, weil keine zwei verschiedenen Block-Umfragen sagen sollten, die
Sinn ergeben, wir werden einen veröffentlichten Zustand machen. Ähm, also weiß ich nicht, wann das veröffentlicht wurde, und dafür werden
wir einen anderen Typ verwenden, den wir eine Nachricht haben, die tagsüber ist,
und sie sagen mir, dass es nur eine meine Nachfolgekolonne ist oder kein Mexiko,
aber ein, aber ein, äh. Datenbank nannte ihn, dass speichert, Datum und Uhrzeit Informationen. Und schließlich werden
wir eine Lebensflagge haben. Ich benutze das immer, ähm, wenn es irgendwie inhaltsbezogen ist, weil man normalerweise keine
Datensätze aus der Datenbank löscht wenn es irgendwie inhaltsbezogen ist,
weil man normalerweise keine
Datensätze aus der Datenbank löscht. Es ist keine gute Übung, Dinge zu löschen, weil Beziehungen zuletzt ihre
Geschichte verlieren . Also, wenn Sie einen Beitrag der Lead haben wollen, anstatt tatsächlich das führt es aus der Datenbank, wir werden nur die Lebensspalte Zehe Fehler setzen. Und das sollte, wie ,
irgendwelche Spalten
herausfiltern , ? Gibt es einen Beitrag, den wir nicht sehen wollen? Also, ähm, wir werden auch eine Kategorie haben, also ist es, dass es Post eine Art haben kann, wie eine Blawg-Kategorie. Und, ähm, also werden wir das haben. Das ist also eine Spalte, die eine DB-Ganzzahl ist. Und wir machen das zu einem Fremdschlüssel für eine andere Tabelle, die wir noch nicht erstellt haben. Nun, lassen Sie uns einfach hier die Kategorie,
die ich bin , und, ähm, lassen Sie uns das darin definieren. Ähm, also haben wir den Titel des Blawg-Autors, Körperkategorie. Das sind alle erforderlich. Und dann werden wir,
ähm,
keine nötige Slug haben ähm, , den Staat und das Leben veröffentlicht. Es wird immer wahr sein. Also hier haben wir selbst blawg I d gleich blawg. Und merke, wie ich an der Blawg vorbeikomme. Ich dachte, ich wäre da,
weil ich tatsächlich den eigentlichen
Blutgegenstandbestanden habe
,
nichtden I. Blutgegenstand habe
,
nicht , Wie wenn ich blawg um blogger d so machen würde, dann würde ich einfach Block i d übergeben, weil ich erwarte, die Zahl,
die Nummer dieses Blocks zu übergeben . Aber das sollten wir nicht tun,
denn die Verdammten können sich ändern. Und wir wollen nicht , hart codieren oder nachschlagen,dass ich d. also erwarte
ich, dass dies dem Blogger und dem Autor als Objekte übergeben wird. Und ich finde hier heraus, was die Idee ist. Das Gleiche mit dem Autor, also ist es, ähm, Autor dachte, ich... weil ich das Objekt dort übergeben werde. Sie wollten den Titel haben. Ähm, wir werden die Leiche und dieses Protokoll haben. Und schließlich, wenn veröffentlichten Zustand zu keiner gesagt wird, esse
ich. Ich komme nicht an einem vorbei. Dann werde ich nur Zeitstempel mit dem, was wir haben, was ist jetzt zur Zeit? So wie wir das tun, IHS, werden
wir tagsüber diese UTC verwenden. Jetzt erinnere dich an mein Gespräch darüber,
dass sie immer
die UTC oder Greenidge Zeitzone verwenden , IHS,werden
wir tagsüber diese UTC verwenden. Jetzt erinnere dich an mein Gespräch darüber,
dass sie immer
die UTC oder Greenidge Zeitzone verwenden
, so dass alles irgendwie wie universell Das ist also immer eine gute Übung. Ähm, und sonst setzen Sie einfach den polnischen Staat auf die Zehe. Was auch immer. Ich wurde auf mein in ihm Barometer weitergegeben und schließlich, Selbst Leben gleich Leben, was durch die Schuld wahr ist. Ich habe hier einen Fehler. Ungültige Syntax. Ach... Oh, ich brauche einen Semikolon. Und oben muss
ich importieren, ähm, ähm, von der Zeit an das Okay importieren. So weit, so gut. , Das Letzte,was wir tun wollen, ist,
das
Repräsentationsmodell zu finden . Ah, Methode. Und ich werde einfach zurückkehren. Äh, Post-Prozent sind mit dem Titel. Cool. So weit, so gut. Ähm, jetzt will ich die Kategorie machen. Und dafür werde
ich das auch tun, es ist eine Instanz von DB-Modell, und ich werde, äh Nun, die Idee ist die gleiche wie diese. Ich werde nur kopieren und fügen Sie das und den Namen ein. Es wird das gleiche sein, wie wir der Titel hier. Äh, aber ich will es 50 statt 80 machen. Und so für das darin, werde
ich zu sich selbst Haupt. Und ich werde den Namen auf diesen Namen setzen. Und die Darstellung ist Rückgabekategorie Prozent sind selbst Dale. Oh, selbst hat es richtig gemacht. Ok. Perfekt. Das war also eine Menge von Modellierung dort. Aber wir haben unseren Beitrag und wir haben unsere Kategorie. Wir haben einen Fremdschlüssel. Ich habe einen Typ ihrer Kategorie Kategorie I d Es ist der Fremdschlüssel der Kategorie. Ich dachte, ich wäre, ähm, ich vermisse hier die Kategorie. Also Selbstkategorie entspricht Kategorie und ich habe Polizeistaatsleben beflockt. Okay, es sieht gut aus. Ähm, also sagen wir, eine Sache, die ich euch auch zeigen möchte, ist gut, wir können etwas in Bezug auf Beziehungen dazu hinzufügen. Ich glaube nicht, dass sie überall in der Datenbank selbst Speicher bekommen. Aber es ist mehr für, ähm, geheime Alchemie in der Lage zu sein, dynamische Nachschlagen zwischen den Tischen durchzuführen. Also, was ich tun werde, ist, dass ich eine Beziehung zwischen dem Block und ihren Beiträgen aufstellen werde und die Art und Weise,
die das DB-Pot-Beziehung durchführt, und das sagt im Grunde das
Blutmodell-Look . Und wenn ich ein Blawg-Objekt
habe, kann ich unsere Beiträge blockieren und bitte die Beiträge zurückgeben, die mit dem
Zehenblock verwandt sind . Also müssen wir die Klasse dafür übergeben. Für diese Beziehung müssen
wir einen Rücken- und Referenzzehen passieren. Das und das ist im Grunde die Blawg dh vom Post zurück zu Blut Was ist das russische Schiff? Es ist der Block, oder? Und schließlich ist
da noch der Sitzungsruf. Lacey ist gleich dynamisch,
was bedeutet, dass ich, wenn ich es tue, nach oben schaue. nicht unbedingt Holen Sie sichnicht unbedingtalle Beiträge von den
Bloggern, es
sei denn,ich habe
explizit nach ihnen gefragt. Holen Sie sichnicht unbedingtalle Beiträge von den
Bloggern, es
sei denn, ich habe Bloggern So verwaltet es das für uns und macht die Abfrage für den Post, wann immer er dies tun muss. Also spielen wir ein bisschen damit auf dem Terminal, um zu sehen, wie das aussieht.
65. Post und Testament: Okay, also Zeit, etwas zu tun. So Migrationen. Also Oh, mal sehen, wir haben keinen Fehler dort außer dem O. J hat kein Attribut für ing. Ah, mal sehen. Was ist das Online? 26 Bodenbeläge. Ah, fangen Sie einen Tippfehler an. Lassen Sie mich den Fremdschlüssel überprüfen. Ich vermisse den Schlüssel. Ihr Fremdschlüssel. Okay, und sagen wir, dass und falschen Server. Okay, jetzt sieht es gut aus. Perfekt. Also ist es klar, den Bildschirm. Und jetzt werden wir die Migration machen. Also lasst uns das versuchen, um Tyshon Ministry. Warum? Eigentlich lassen Sie mich das reinlegen. Also möchte ich sehen, dass die Version auftaucht. Wir haben 70 d und 30 Namen I D 39 I d,
ähm, sie sind meine große. Also, jetzt haben wir dieses neue und schauen wir es uns an. Also haben wir Kategorien erstellt, die ohne Primärschlüssel von I d perfekt eingeschränkt sind. Wenn ich ihren Beitrag und ich habe diese Fremdschlüssel zu Autor, Blogger und Kategorie Perfect. Und, ähm, ja. Wieder einmal ist
es irgendwie wie das Einfügen dieser Autoritäten Autor, Es sieht definitiv aus wie ein ah, wie ein Fehler aus irgendeiner Art. Aber ich lasse es so. Also es sieht gut aus, also gehen wir zurück zum Terminal und wir machen es mit Spaß, verwaltet B Y sie sind aus der ernsten Klasse. Großartig. Perfekt. Also läuft es das, um das Upgrade, das hier ist. Ah, zeigen Sie Tische. Ich weiß, dass wir das haben. Ah, Kategorie auferlegt. Perfekt. Okay, spielen
wir ein bisschen mit dem Model. Also habt ihr eine Idee, der ihr mit den neuen Modellen interagieren könnt. Also werde ich Python Minuten p waschen. Nun, lassen Sie mich zuerst telefonisch den Bildschirm löschen. Verwalten Sie mich. Warum Shell. Okay, also lassen Sie uns Modelle aus dem Angebot importieren. Und wir werden alle Modelle von blawg importieren. Und so lasst uns eine neue Kategorie lesen. Die Art und Weise, wie wir eine neue Kategorie erstellen, wird Kategorie gleich Kategorie sein. Und was anderes als Python? Das ist eine tolle Kategorie. Ähm, also werden wir in dieser Kategorie eine Sitzung ablegen und es perfekt machen. Also lassen Sie uns auf meiner Fortsetzung überprüfen, um zu sehen, ob die Dinge gut aussehen. Also, wenn ich den Stern aus der Kategorie auswählen Dort ist es. Wir haben unsere Torten-Telefon-Kategorie dort. Okay, also jetzt sind wir jetzt los. Erstellen Sie Blockbücher. Dafür brauchen
wir einen Autor. Also lasst uns einfach den ersten Autor hier holen, den wir bekommen können. Und dieser Autor ist natürlich, Jorge. Und dann werde ich die Kategorie haben, die auch die erste ist,
Also zuerst er Kategorie c Python Perfect. Und so lassen Sie uns einen Beitrag erstellen, den wir tun Post gleich Post. Wir haben an der Blawg vorbei. Wir haben das Angebot bestanden. Also haben Sie das e c dieses Ass, anstatt auf den Block i d zu schauen oder es ist einfach so, als ob es besser ist, das Objekt einfach zu werfen und das Modell irgendwie
herauszufinden, wie Dinge. Was verlassen? Was es braucht. Damit das Pi Telefon sein würde, ist cool. Und die Leiche ist Deshalb, per Telefon, eine Schule und die Kategorie, wir werfen einfach die Kategorie und bemerken, dass ich dieses Protokoll oder den Polizeistaat nicht passieren werde. Oh, benannter Block. Oh, ich habe keinen Block holen bekommen. Richtig. Also Blawg gleich blawg Abfrage zuerst, und wir sehen diesen Block. Ja, mein nach dem Block. Okay, also versuchen wir es nochmal. Jetzt hat es gut funktioniert. Also werde ich db-Sitzung ad post und D B-Sitzung machen. Komm, es ist großartig. Es sieht so aus, als wäre es durchgegangen. Schauen wir uns den Posttisch an. Und da ist es. Wir haben das Blut i D. Das ist
der Blawg. Ah, die Pfeifen. Ähm Blut. Mein Autor i d und der Titel Der Körper Die träge null. Der veröffentlichte Staat
, der heute Datum und Uhrzeit in der Greenwich-Zeit ist, ist das Leben und die Ladung, die ich d ist, äh oh Kategorie Schnee. Das ist also unerwartet. Ähm, das ist, wenn wir die Dinge hier richtig gemacht haben. Also haben wir Kategorie. Ich vermisse vielleicht etwas auf dem Model. Also gehen wir zurück zum Und deshalb ist es wichtig, dass Sie zuerst mit Ihren
Modellen spielen , bevor Sie sie auf die Anwendung setzen, weil Sie von dort Fehler bekommen können. Also ist es Kategorie O c Ich vermisse Kategorie I d.
Hier. Ich denke, ich sollte eine Kategorie haben, die ich hier
habeund habe wir überprüfen. Oh, also habe ich eigentlich zwei Fehler, die ich habe, ähm ich habe Kategorieideen definiert das Feld, also muss ich dies auf Kategorie I d setzen
und
ich muss Kategorie Punkt i d setzen. Okay, also, äh, gehen
wir zurück, damit Änderungen, die du an deinen Modellen machst, nicht automatisch unter dem Terminal reflektieren, du musst raus und wieder kommen, damit sie wie neu geladen sind. Es ist nicht wie die automatische Nachladefunktion, also Ah, es ist klar und wird telefonisch tun. Mich verwalten? Warum, ähm, wieder
Shell. Also lasst uns maximieren. Und es war das gleiche hier von Autorenmodellen, ähm, und von Blutmodellen, Import Stern und Autor ist der erste Autor und Blogger das erste Blut und die Kategorien . Die erste Kategorie und ich müssen hier vermuten, was der zweite Beitrag ist, Ähm, dass ich das Problem früher entlarvt habe, also denke ich, wenn ich auch geschrieben habe, also werde ich 1/3 Block Post hier haben, und ich werde es nennen. Das ist mein dritter Block Post. Und immer schauen Sie sich I DS ist der Titel, so dass sollte es tun. Es ist die Art, wie das beim Datenbank-Commit aussieht. Ähm, also das dritte Mal ist der Charme. Und da gehen Sie, finden wir Kategorie D hier. Also, das tat der Trick Sieht gut aus. Ähm, ich möchte jetzt eigentlich , alle Beiträge löschen,
weil diese wie Testposten sind und wir eine
leere Tabelle haben wollen . Also müssen Sie tun, ist die Führung von Post wieder. Es gibt etwas Meine Fortsetzung Seite. Ähm, Sie können dies auch auf dem Terminal auf der Python-Seite tun. Oh, und, ähm, aber das ist das ist schneller. Und natürlich gibt es niemanden für ihre tun. Seien Sie also vorsichtig, wenn Sie es tun. Also die Lippe von Post. Und jetzt, wie Sie sehen können, gibt es keine, ähm, es gibt keine Post, also haben wir einen leeren Tisch. Also jetzt gehen wir weiter und beginnen mit der Arbeit an den, ähm, an den Ansichten dafür für diesen Beitrag. Lasst uns einfach wie das Skelett machen. Und bei der nächsten Lektion werden
wir viel,
viel mehr tun . Okay, also, äh, lasst uns von hier ausgehen und den Bildschirm löschen. Ähm, und was wir jetzt tun wollen, ist
es auf der Blutsicht. Lasst uns auf unserer ersten Route in , Lage
sein,einen neuen Papst zu derLage
sein,einen neuen Papst zu
generieren. Die Route wird also auf den Posten geschlitzt, und wir werden dafür eine Protokollierung benötigen. Und wir werden diese definieren, fragen Sie die Post-Funktion, und im Moment, das ist nur Rückgabe-Block Post. Wir wissen also, dass wir am richtigen Ort sind. Sagen wir das. Mal sehen, ob wir die Anwendung falsch machen können. Und, äh, das geht Schrägstrich Post und ihre Glücksposten. Also im nächsten Abschnitt werden wir anfangen, das Front-End dafür zu bauen. Ah, für diese Block-Post-Funktionalität.
66. Einführung in Markdown: Okay. Möchten Sie eine Menge in diesem in dieser Lektion tun, Also stellen Sie sicher, dass Sie entspannt sind und haben eine Art, wie eine kleine Pause. Ähm, altes gutes Zeug, aber viel zu durchziehen. Also lasst uns anfangen. Ah, das erste, was ich tun möchte, ist, dass ich Bibliotheken zu Anforderungen hinzufügen muss. Txt und die werden ah per Telefon Slog sein, wenn ich das eine Bibliothek ist, die mir erlaubt, Slogs on the fly zu generieren, ohne sich darum kümmern zu müssen, sie auf der anderen zu erzeugen,
wird Kolben markiert und nach unten ist eine Art wie ein Es ist fast wie ein Fudoh, ähm, Formatierungssprache. Aber es ist nicht, dass Sprache wie ein Satz von ah ist,
off Regeln oder oder Dienstprogramme, um Sie daran zu machen und hinzuzufügen,
um, um, Text, ähm, Art wie Formatierung in einem sehr Standard Art und Weise. Und Sie können suchen, wenn Sie ein Google auf wie Markierung nach unten tun. Ähm,
ja . Lehren Sie es ist, ähm ist eine gute ah, gute Suche. Sie werden sehen, wie Sie Header tun können. Sie sehen, wie Sie Header tun, wissen
Sie, irgendwie wie gefundene Zeichen. Und je nachdem, wie viele Pfund Zeichen Sie haben, wird
es die verschiedenen Größen generieren, uh, Listen und all das. Also sieh dir das an. Ähm, stellen Sie sicher, dass Sie sich ein wenig damit vertraut machen. Ich habe Bilder und all das, aber es ist eine sehr coole,
ähm, ähm, Art wie für die Paarung von Dienstprogrammen Sprache, ähm,
um Menschen zu erlauben, irgendwie, wie, bearbeiten ihre ihren Posten. Also lasst uns, äh,
kontrollieren, von hier aus sehen, und wir werden einen Peeping Stall Anforderungen machen. Perfekt. Also, jetzt haben wir beißen verlangsamt, wenn ich Abschlag installiert. Also lassen Sie uns,
um,
einen Platzhalter für das tun um, , wo wir die tatsächlichen,
wie Post Artikel anzeigen . Und wir werden das hier auf Vorlagen Blawg tun. Und ich werde eine neue Datei mit dem Namen erstellen, ähm Artikel dot html. Und da drin werde
ich im Grunde, ähm, einige
ablegen, damit wir testen, dass es gut funktioniert. Also werde ich Teig, wissen
Sie, erweitert Basis HTML, und wir werden eine Block-Talk mit dem Titel, die wird blockiert Post. Und wir werden Inhalte
blockieren. Und so ist die Art und Weise, dass wir diese spielen Orender markiert Code ist, indem Sie die folgenden verwenden Sie Filtermarkierung nach unten und Sie tun einen Endfilter. Es ist irgendwie wie Block, aber es ist ein benutzerdefinierter Angriff für den Umgang mit Mark Down. Und so werde ich es einfach schaffen, damit du dich siehst, ich sehe hier einige markiert, damit der Titel Ah sein wird, du bist gezeichnet. Und dann werde ich es tun, wie eine kleine Liste 0.1, die nächste und die nächste, und Sie werden feststellen, dass diese durch 123 ersetzt werden, also ist das irgendwie wie eine einfache Sortierung anfänglich markiert ist. Um, wir müssen mögen,
einschließen, einschließen, bevor wir das rendern, müssen
wir Markierung auf die Einheit y einschließen, damit die Anwendung weiß, wie man mit
diesem Ding umgeht . Also werden wir vom letzten Punkt txt tun Oh, kein Flachs e x t Punkt markiert Importmarke und ich werde einen Eintrag für hier markiert unten erstellen Markierung unten und ich habe die oben übergeben. Also von diesem Punkt an der Anwendung, Osada rendert, ähm, Markdown Kontakt. Ähm, das ist
also das. Und mal sehen, ob wir diesen Artikel hier rendern können, also machen wir hier eine schnelle Funktion namens,
ähm, Artikel, Artikel, genau wie du siehst, wie das aussieht und einige einen Schrägstrich Artikel machen, und dann bin ich Ich werde zurückkehren. Logan wird nicht benötigt. Kann jemand den Artikel sehen, und dann werde ich Vorlage Schrägstrich Log-Artikel rendern. Okay, also mal sehen, ob das funktioniert. Ähm, es läuft, also ist es immer noch Schrägstrich Artikel. Wir haben einen näher drinnen Kerl Artikel. Oh, ich habe da den falschen Charakter. Also lassen Sie uns sehen, dass neu geladen und aktualisiert. Perfekt. Sehen Sie jetzt, wie es die 123 rendert und Sie sind nach unten markiert. Das scheint also zu laufen. Lassen Sie uns nun anfangen, auf der tatsächlichen Blockpostfunktionalität aufzubauen. Aber bevor wir das tun, ist
etwas, was ich dachte, dass wir einen anderen Dekorateur brauchen. Also denken Sie daran,
wie wir die
Protokollierung haben , ,erforderte hier ein größeres. Also dachte ich,
du weißt schon, du weißt schon, ich könnte eine lange haben und für bestimmte,
um, um, um, um, Benutzer in der Lage sein, Kommentare zu posten, wie wir gesagt haben. Aber ich würde gerne einen anderen Dekorateur haben, der das ausdrücklich beantragt. Ah, das reicht über den Autor. Er ist derjenige, der eingeloggt ist, und ich denke an den Admin, und ich denke über den Postkurs nach. Du könntest eingesperrt sein,
aber wenn du bist, ist der Autor nicht gesetzt,
dann,
ähm,dann sollten wir nichts tun können. Du könntest eingesperrt sein, aber wenn du bist, ist der Autor nicht gesetzt, dann,
ähm, Und ich denke, dass, ähm, bei der Protokollierung, wann? Wenn Sie beim Autor sind, wird
Ihre Sitzung hier festgelegt. Also lasst uns diesen Dekorateur machen, und es wird so ziemlich dasselbe sein, aber wir werden es „Autor erforderlich“ nennen. Und in diesem Fall, was ich tun werde, ist, wenn Session get Autor ist. , Wenn es
dann ist,wenn die Sitzung seinen Autor bekannt ist, dann werde ich automatisch auf einem Brett an Bord vier oder drei zurückkehren. Und dafür gehört
jeder Zeh hier an Bord. Es ist also ein bisschen anders in dem Sinne, dass, wenn du kein anderer bist, ichdich nicht ich gut auf die Login-Seite
zurückschicken werde. Du machst wahrscheinlich etwas Hacky. Also werde ich gerne eine 43 hierher zurückgeben. Das war's also dafür. Und jetzt werde ich die,
ähm, ähm, auf die Ansichten hier, die ich tun werde, statt Logan erforderlich. Ich werde den Autor verlangen, und ich muss das hier importieren. Perfekt und das Gleiche mit dem mit einem Post, nicht wahr? Sie sollten nicht in der Lage sein, zu posten, wenn Sie kein Autor sind.
67. Postformular: Lassen Sie uns also anfangen, an dem auf dem Blockformular für den Beitrag zu arbeiten. Und so haben wir, äh, schwanger genannt ist die Postform Klasse, und es ist auch Klasse der Form. Also werden wir einen Titel haben, der der Titel der Post ist. Und es ist ein Stringfield. Ich werde den Titel auf dem Etikett anzeigen und dann hier, wenn ein Validatoren erforderlich und maximale Länge haben, wird
es 80 sein und dann werde ich einen Körper haben
, der ein Es ist ein neuer ist. Wir haben ein Nachrichten-Textbereich-Feld, das zufrieden sein wird, und dann werde ich Evaluatoren machen. Es ist erforderlich, ähm, und schließlich haben Sie die Kategorie. Also mit der Kategorie wäre auch Sie etwas Neues, was wir machen können, wissen
Sie, dies wird eine Auswahl sein, Sie wissen, die wählen mehrere Auswahlfelder, aber wir wollen e geladen mit den Inhalten der Kategorien, die wir in der Datenbank haben. Dafür können
wir etwas verwenden, das das Abfrageauswahlfeld genannt wird und ein ziemlich ausgewähltes Feld bedeutet, dass es von einem im Grunde aus einer Tabelle ziehen wird, die ich bezeichne, um, den Inhalt dieses Satzes, um Also hat die Art und Weise, wie Sie dieses Problem tun, eine Abfragefabrik übergeben, und das zeigt auf eine Funktion, die ich hier definieren muss. Es wird also Trata Gorey's genannt, und ich werde leere gleich zulassen. Stimmt, denn, ich weiß es nicht, ich bin es nicht. Ich denke nicht, dass wir den Benutzer zwingen sollten, die Kategorie auszuwählen. Ähm, in weniger, was zumindest, wenn der Benutzer eine neue Kategorie eingeben will, werde
ich das zulassen. Also werde ich ein weiteres Stringfield haben, das die neue Kategorie nennt. Okay, also lassen Sie uns hinzufügen, dass, um, diese Fabrik und es ist nur eine Funktion, die Sie hier Kategorien definieren und die eine
Kategorie zurückgibt . Ah, Doug Abfrage. Und wir müssen hinzufügen, ähm, hier. Ah, von wt Reformen brauchen wir im Textbereich Feld. Und wir müssen auch aus Blawg-Modellen Importkategorien hinzufügen, damit diese Abfrage funktionieren kann. Und schließlich werde
ich zu Ah gehen,
die, die, ähm von w t bildet, dass e x t Dot Fortsetzung Alchemie. Und das fühlt sich Importabfrage Select Feld. Perfekt. Ähm, also gehen wir jetzt und arbeiten an der Vorlage dafür, dass das
Formular gerendert wird, also lasst uns zum Block gehen. Ähm, Ansichten und Arbeit an der Post. Ähm, also muss ich mich an Methoden halten. Methoden sind gleich, ähm, bekommen und posten, und ich werde Autor benötigen. Das ist in Ordnung. Und definieren Sie Post perfekt. Also lasst uns anfangen, Sachen hier reinzuladen. Das Formular wird das Postformular sein,
und wir werden eine,
ähm,
zurückgeben Orender Vorlage Logpost dachte Eckstine Mühle. Das Formular wird das Postformular sein, und wir werden eine,
ähm, ähm, Nun, wir müssen es für ihn bestens machen. Und wir müssen die,
ähm, hier sehen. Ah, aus Buchform. Ah, Post Formular vier. Perfekt. Und, ähm, schauen wir uns an, wie der „Dieser Block Post“ -HTML aussieht, und dann können wir die Datenbank verdrahten, also erstellen wir eine neue Vorlage. Ich habe hier ein Problem. Sie Datei Sie haben HTML entgegengesetzt, und das wird erweitert haben. Ähm, Grunddampf. L Wir haben einen Blocktitel. Schau, post sie würden den Blockinhalt haben und, ähm, sehen Sie hier, also, ähm, würde eine Rindfleischklasse gleich Zeile haben. Und dann ist eine div-Klasse gleich Aufruf. Und der Offset drei und rufen MT. Sechs, was wir für Bootstrap verwendet haben. Und dann haben wir den Titel. Äh, H drei, neuer Blockposten. Und wir haben nicht diesen Helfer von Formularhelfern dot html Renderfeld importieren. Ähm, perfekt. Also lasst uns zum Formular gehen. Mehr für Methode gleich Post und Aktion ist die, um, Euro für Post und die Rolle gleich Form. Perfekt. Und wir haben unser CSR-Token-Hayden-Tag. Was? Und so jetzt rendern wir Feld ein Formular Titelklasse gleich Formular-Steuerelement. Und so, wenn ein Kopieren und Einfügen, dass für alle anderen Felder. Also in diesem Fall werden
wir Körper haben. Und eine Einschränkung hier ist, weil das aber ein Textbereich sein wird. Ich werde eigentlich eine Sekunde bestehen. Bessere Messung hier, die Rose Rose genannt
wird, ist eine Reihe von Zeilen, die dieses Feld haben wird, nicht Textbereichsfeld Feld. Also, jetzt hier ist die Form Kategorie, und schließlich, eine neue Kategorie. Wenn der Benutzer also eine neue Kategorie eingeben möchte, kann er das dort tun. Wir sind hier fast fertig. Button-Typ ist gleich senden. Klasse gleich Bt n der Fehler und Post perfekt. So weit, so gut. , Mal
sehen,ob wir hier irgendwelche Fehler haben. Nein, es sieht gut aus. Also jetzt gehen wir zu einem Beitrag, der in der Lage sein sollte, diese Form perfekt zu sehen. Also haben wir hier einen Titel. Wir haben den Inhalt
, der mit den 10 Zeilen hier und überprüfen Sie die Kategorie. Aber das ist komisch. Es steht Kategorie Python. Was hier passiert ist, ist, dass, ähm, wenn wir das reproduzieren, das ist, was es zurück zum Modell geht,
Ähm, Ähm, tut mir leid für die Form. Wenn sie diese Kategorieabfrage durchführen
, werden die Kategorien ausgewählt. Und ich habe keinen Weg gefunden,
um das, ähm, um das, ähm, mit dieser oder mit einer anderen wie Repräsentation
arbeiten zu lassen. Also, was ich hier getan habe und und ihr könnt überprüfen, ob es einen anderen Weg gibt,
dies zu tun , ist, dass ich gerade selbst diesen Namen zurückgegeben habe, anstatt dass reproduzieren. Aber ich würde gerne das haben, um das weiter zu haben und irgendwie herauszufiltern. Wenn ihr also einen Weg findet, das zu tun, lasst es mich wissen. Aber jetzt, wenn ich hier neu lade, werden
Sie sehen, dass ich die richtige Kategorie habe. Also auf der Suche nach gut aussehen so weit. Nun, wir müssen nur das Datenbankstück machen, was wir in der,
ähm in der folgenden Ruhetun ähm in der folgenden Ruhe
68. Speichern der Post in Datenbank: Lassen Sie uns also voran gehen und sehen, wie wir den Block Post erstellen können. Ähm, also müssen wir,
ähm, ähm, hier in Blockansichten auf die Post-Methode, die wir tun werden, wenn,
ah, ah, Formular bei der Einreichung validieren. dem wir immer zusammen waren. Wir haben die Vergangenheit gesehen. Ähm, also werden wir hier ein bisschen nachsehen. Das erste, was ich überprüfen werde, ist, ob es ein Formular gibt, ähm, neue Kategoriedaten. Das bedeutet, dass der Benutzer eine neue Kategorie übergibt. Also werde ich dieses Objekt im laufenden Betrieb in der Datenbank erstellen
,
indem ich eine Kategorie , , mit
der Stärke feststelle,die der Benutzer übergibt. Und dann werde ich eine Sitzung in dieser, äh, Kategorie. Und dann möchte ich uns einen Flush machen. Also noch nicht begehen, weil ich bin, ich will nicht, um
Onley dieses Ding, das ich begehen möchte, wenn ich das ganze Paket habe. Also, aber mit Session Flush, ich habe jetzt das Objekt kreativ, ähm, und mit einem Potential i d. Also das ist,
um, um, die andere Sache ist, wenn Sie daran denken, dass der Benutzer kann eine leere, äh, Kategorie übergeben. Aber wenn es eine Kategorie Daten gibt, die Zeitvertreib statt, der Benutzer hat etwas ausgewählt. Dann möchte ich folgendes tun. Ich muss diese Kategorie nachschlagen. Und der Weg, dies zu tun, ist, indem Sie sich die Kategorie D ansehen und das tun, indem Sie diese Hilfsfunktion verwenden, die Ah ist, PK
holen und Sie haben die Kategorie an die Zehenfunktionsstörung übergeben. Aber das tut, ist, dass es den Primärschlüssel SPK oder das I d von dieser Auswahl
aus diesem Feld bekommt . Und danach werde
ich mir die Kategorie ansehen, indem ich einen Nachschlag mache, äh,
Kategorie, die Abfrage, Ähm, dieser Filter von I v entspricht Kategorie I d, dass zuerst und dass das kümmert sich um die -Kategorie. Ähm, sonst werde
ich einfach passieren, dass die Kategorie keine Leichtigkeit hat. Perfekt. Also, nichts, ich nehme an, dass wir nur einen Blawg pro Anwendung haben werden, also werde ich nur Blawg-Adler sagen, die zuerst abfragen sollen. Wenn es also mehr als einen Block gibt und Sie ein System erstellen möchten, das mehr als nur
Block benötigt , dann müssen wir, wissen
Sie, das hier
herausfinden, ähm, und einige andere schreiben wie -Funktionalität. Aber für diesen Kurs gehe
ich davon aus, dass es nur einen Block ist, den wir hier haben. Damit das funktioniert. Es sei denn, ich will, dass wir den Autor holen. Also mache ich das Angebot, die Abfrage, und ich werde nach der Person suchen, die eingeloggt ist, richtig, also benutze ihren Namen gleich Sitzung. Äh, Sie sicher. Und dann habe ich zuerst meine Kategorie mein Blut, und ich habe meinen Autor. Der Rest ist genau das, was von der Form übergeben wird, also bilden Titeldaten. Äh, und der Körper ist durch die Form Körperdaten. Und für dieses Protokoll werde
ich diese Bibliothek benutzen, die installiert ist und Sie nur, um zu schlüpfen, wenn ich, äh Titel. Um Und so ist es jetzt Zeit, einen Beitrag Objekte oder nicht vorbei Blog Autor Titel Körper
Kategorie erstellen und perfekt aussehen s eigene Idol Devi, Sitzung God Post und die B-Sitzung Kommentar. Und schließlich werde
ich den Benutzer zum Admin zurückgeben, denn in der Armee werde
ich
einen Link haben, werde
ich den Benutzer zum Admin zurückgeben, denn in der Armeewerde
ich
einen Link haben,
um irgendwann neue Beiträge zu erstellen. Also werde ich das hier drinnen machen, und wir werden prüfen, ob alles auf der Datenbankseite gut gelaufen ist. Also habe ich ein paar Fehler,
weil ich Kategorie
hinzufügen und festigen und posten muss . Also gehe ich an die Spitze und an die Dinger da drin und lass uns hier sehen. Also von Blockmodellen für blawg Post in Kategorie und, ähm, von langsam, wenn ich herauskam langsam, wenn ich perfekt, so sollte ich nicht mehr Fehler darin sehen, das sieht gut aus. Dann sehen wir, ob es Fehler gibt. Bekannte trägt. Also lasst uns das mal ausprobieren. Lassen Sie uns versuchen, unseren ersten Blutpost mit dem Formular zu erstellen. Also sind wir in der Post. Lassen Sie mich das nur für den Fall neu laden. Und ich werde sagen, hier, äh, Flasche ist wirklich erstaunlich für den Titel, dann Inhalt. Ähm, ich werde sagen, Flask, es ist ein großartiger. Ähm, telefonisch. Waren DreamWorks wirklich? Ich empfehle es. Perfekt. Und so werden wir zuerst mit der Kategorie versuchen und sehen, ob das funktioniert und dann Ach,
Objekt
posten . Das ist viel ein Date. Okay, also ist es die Ellie Formkategorie. Datum auf Blob. Verwenden Sie lügen. 72. Oh, Dada. - Dada. Okay, also lasst uns das versuchen. Wir können hier nachladen. Weil er dieselben Daten senden wird. Und jetzt haben wir lokale Käufer-Zeichenreferenz vor der Zuordnung. Sehen Sie hier. Oh, es sind hier Formularkategorien Daten, also lassen Sie uns das sehen. Das sieht gut aus. Gehen wir zurück und posten wir nochmal. Cool. Es sieht so aus, als wäre es durchgegangen. Und schauen wir uns die Datenbank an, um zu sehen, ob alles gut aussieht. So wählen Sie Stern aus Post. Ehrfürchtig. Lassen Sie mich das maximieren und sehen, ob es gut aussieht. Also haben die i d der Block I d. Autorität den Titel. Die Leichenschnecke. Sieh dir die Schnecken an. Fläschchen Dash dezimiert wirklich? Wir haben das Datum, und wir haben das Leben ist eins und tragen dieses eine Perfekte. So sieht es aus, es sieht wirklich gut aus. Ähm, jetzt stellen wir das richtig ein. Lassen Sie mich einen anderen mit einer neuen Karriere machen, um zu sehen, ob das funktioniert. Also sagen wir hier meine neue Kategorie in meinem Block, das wird die neue Kategorie sein. Also, jetzt werde ich haben, dass das leer ist, und ich werde sehen, dass das eine der Kolben Kategorie ist. So Post, das sieht gut aus. Nun, machen
wir eine weitere Suche hier und perfekt. Ich habe eine Kategorie zwei, die die neue Kategorie ist. Und wenn ich wähle, ähm, starten Sie von der Kategorie jetzt habe ich zu einem in perfekt so sieht wirklich gut aus. Herzlichen Glückwunsch. Das war eine Menge von Arbeit,
und Ah, und Ah, aber du fängst an, das Ausschalten mit dem oder M und Ah zu sehen und das zu benutzen. Diese Werkzeuge wie die Form, die Fortsetzung. Alchemie. All das kommt zusammen, sieht
also wirklich gut aus. Lasst uns
nun versuchen,
das zu rendern,
äh,
diese Beiträge auf den einzigen Artikel Ansichten. Lasst uns
nun versuchen, das zu rendern, äh,
69. Die Artikelansicht: Also, jetzt werden wir, um, um, erstellen die Funktionalität für Artikel zu rendern. Und die Art und Weise, wie wir das tun, ist von Blutmissbrauch. Wir haben hier die Artikel-Rendering-Funktion, also lasst uns das ändern, so dass es tatsächlich aus der Datenbank zieht. Also machen wir hier etwas, das Slash Slug genannt wird. Die Idee ist also, dass Sie übrigens nach oben suchen, dieses Slug-Feld in der Datenbank, und wir haben das an die Funktion weitergegeben. Erinnerst du dich an dieses Protokoll Es ist, ah, einzigartig. So funktioniert es perfekt uns als i
D. D. Also ist es wirklich einfach. Wir schauen einfach auf die Post. Ähm, durch das Protokoll, um, Filter nach Protokoll gleich Slug, und es gibt eine praktische Funktion namens zuerst oder 44 Und was das tut, ist, wenn es findet ,
dass, ähm, dass Datensatz in der Datenbank durch die Suche, die Sie tun, gibt es an den Beitrag lebensfähig zurück, und wenn nicht, dann gibt es eine für eine Vier in die Ansicht zurück. Das ist also ziemlich praktisch. Ähm, und hier, also werde ich ah tun, vorbei an der Post an der Vorlage. Und natürlich müssen
wir die Vorlage ändern,
also lasst uns müssen
wir die Vorlage ändern,
also lasst uns
im Grunde folgendes ändern. Statt Blockposten hier werde
ich den Titel vom Posten absetzen. Andrea, über Der Beitrag ist das Objekt, das aus der Datenbank abgerufen wird. Und ah, die andere Sache ist, ähm, wir sollten mit der Klasse Ro-Ding von,
ähm,
von Bootstrap halten ähm, und dass sie schießen und plus Inhalt hier und dann auch, sie haben, Uh, Klasse entspricht Offset 3 und ruft die Sechs und das Shooting ein. Und hier drin. Perfekt. Also, jetzt, ähm, wir haben Ah, nehmen das raus. Wir werden einen Titel haben,
der der Titel des Beitrags ist und die Art und Weise, den eigentlichen Beitrag iss zu rendern. Wir machen den Pfostenkörper, und dann filtern wir mit Markierung nach unten, so dass Typ dieses Rohr oder Linie vertikale Linie ein Rohr genannt wird. Und Markdown ist für uns verfügbar, da wir die Bibliothek installiert haben. Also werde ich hier eine kleine Division haben, wie ein Pferd auf der Linie, und dann werde ich ihre Klasse gleich Text machen, der auf dieser Art gedämpft ist, dass es wie ein
Ordner sein wird . Ähm, gepostet von Ich werde
ein Geschehen mit dem Autor haben gepostet von Ich werde
ein Geschehen mit dem Autor haben. Obwohl das nicht funktioniert. Ähm
, echt. Aber du könntest das umsetzen. Und, ähm Und dann lassen Sie uns am Datum auf Post-Publishing setzen. Sie, ähm und wir werden eine Funktion namens String of Time benutzen. Lass mich wickeln. Dieses Büro sieht ein wenig hässlich aus. Ah, s t r f Zeit. Und das ist ein Mord. Also passen wir Updates an, die wir Prozent verwenden werden. Warum? Welches ist das Jahr? Prozent. Ich bin Prozent der und es ist ein bisschen hässlich, aber wir können daran arbeiten. , Nur,dass wir etwas an Ort und Stelle haben und ich werde in und wieder eine weitere Drift machen , die anfangs nirgendwo hingehen wird. Ähm, und wir werden den Kategorienamen cool machen. Ähm, das sieht gut aus. Das Letzte, was ich tun möchte, ist, sobald wir den Block veröffentlichen , ,
den wir dem Benutzer oder dem Autor direkt dazu geschickt haben. Also lasst uns diese Änderung hier machen. Statt sie zu Rodman zu schicken,werde
ich umleiten Euro vier,
äh,
Artikel zurückgebenund dann die Schnecke übergeben. Statt sie zu Rodman zu schicken, werde
ich umleiten Euro vier,
äh,
Artikel zurückgeben äh, Perfekt. Also, wenn ich jetzt veröffentliche, werde
ich dazu gebracht. Um, so dass Artikel eso Mal sehen, ob wir irgendwelche Erben haben. Ähm, sieht gut aus. Also lasst uns gehen. Zehenpfosten Ähm, das ist ein weiterer Artikel, und ich kann einige, wissen
Sie, einige hier unten markiert, damit ich so etwas wie, ähm, die ursprüngliche Version ist die Art eines Untertitels und Essen hier einige. Dies ist die erste Version des Artikels es hat sehen Zeile und dass diese kleinen Sterne sind um es fett zu machen. Es hat keine Treffer im Internet, und das sollte gut sein. Und wir werden es in der Python-Kategorie haben. Das war's. Das ist also richtig. Busting Build-Fehler. Außerdem denke
ich, es hat mit dieser Linie hier zu tun. 85. Ja. Dies soll nur Euro für Artikel Komma Slug Slug Slug sein, weil sie ich die
beiden Parameter dort übergebe . Also lassen Sie mich das sagen. Und, äh, lassen Sie uns einen weiteren Beitrag erstellen, weil wir diesen bereits haben werden. Ich denke, dass einmal richtig in der Datenbank gespeichert, können
wir überprüfen. Äh, ja. Das ist also auf einen anderen. Sehen Sie hier die Schönheit. Oh, Flasche. Und dann werde ich dasselbe tun. Warum ist Flask genial? Ich wollte einen Untertitel mögen. Ähm, und ich werde Flash setzen ist fantastisch, weil ja, uh, weil es eine Menge hat. Was ist der Astor ist eine Menge von Funktionen, so lassen Sie uns, dass in Flasche und Post perfekt. Also wenigstens werde ich zu der so die Schlampe geschickt richtig. Und aber es heißt, Blut, das man angeblich hat, hat nur einen Tribut. Autor. Oh, es sieht
so aus, als hätten wir keine Verbindung zwischen Post und Autor auf dem Model, was ziemlich interessant ist. Die Art und Weise, wie wir das beheben, ist, dass wir zu den Blutmodellen gehen und als es eine Beziehung zwischen
Post und Autor sagte , also ,
ähm ich weiß nicht,
ob ich irgendwie ,
ich weiß nicht,
ob ich irgendwieüber seine
sprach, über seine
sprach, Ähm, im Detail,
weil es im Detail,
weil es
so zweiter Natur für mich ist. Aber sehen Sie, wie ich den vollständigen Namen des Autors mache, wie, ich springe zwischen zwei Arten von wie, Datenbank oder Tabellen, ? Das ist Gold wie Vernetzung. Und es ist etwas, das du haben wirst. Du warst schon immer eine Art Nutzen. So Post Autor, Vollständiger Name ist einer von ihnen und Pose Kategoriename ist eine andere. Wie von der Pfostenspitze die Kategorie zu dem Namen zu springen und die Art und Weise, wie du das Problem ,
um machst,
um
diese Beziehungen,
über die wir kurz gesprochen haben , ,
mit ... Kategorie. Denken Sie daran, wie ich dieses Verzeichnis Post zurück Rift Blawg dynamisch habe, ähm, mit der Post an die Blawg. Und ich habe, ich glaube nicht, dass ich eine Kategorie-Beziehung habe. Lass mich sehen. Ja, das habe ich. Ich habe das externe i d. Aber es wird eine Art Beziehung haben. So ist die Faustregel dort ist, dass Sie immer das haben, das eine eins zu viele
Beziehung genannt wird . Ich esse für einen, äh, Post, es gibt ein Potential, das sie sein könnten. Ich meine, es gibt nur eine Kategorie, aber für jede Kategorie könnte
es mehrere Beiträge geben. Also die Idee ist, dass Sie die Beziehung auf die mehrere Ciders legen, die im Grunde
die waren,
ähm die waren, waren die Art aus so. Einzigartige Hinweise auf die Vielfachen. Und in diesem Fall dafür,
dass diese Verbindung Toby getan. Es ist eigentlich für den Autor. Es ist eigentlich auf dem Autorenmodell. Du wirst also sehen, wie ich das hier mache. Also werde ich Beiträge machen und das wird wie ein neues Feld sein, und ich werde gehen. Der DB-Beziehungsbeitrag ist die Klasse, mit der ich ihn verknüpfe. Und die Rückseite Ref ist Autor. Und das ist, wo, was wird mir die Beziehung geben? Und, äh mal sehen, was? Das, was das tut. , Schauen wir uns an,dass ich dort keine Probleme habe, also lasst uns neu laden. Okay? Und wie erwartet habe ich kein Rennproblem zwischen Post und Kategorie. Also wieder, jede, ähm, jede Kategorie kann mehrere Liebesbeiträge haben. Da sollten wir also ihre Beziehung machen. Ähm, also lasst uns zu den gotta blawg Modellen, und ich werde hier haben Kategorie Kategorie gleich der B-Beziehung und der Klassen Kategorie und der hintere Griff gleich TV zurück Graph Beiträge, so dass die Beiträge des, dass Kategorie hat und Spitzenklasse gleich dynamisch ist. Okay, also jetzt kann ich zu einem Beitrag gehen und und zum hinteren Graph von der off, dass aus welcher Kategorie? Es weist darauf hin, diese Beziehung zu verwenden. Also ist es derjenige, wo wir laden und da ist. Also, jetzt habe ich, weißt
du, von Jorge Escobar in Flasche
gepostet. Also hoffe, das macht Sinn. Es ist ein bisschen knifflig, diese Dinger am Tag anzufangen. Ähm, aber Sie bekommen den Hang von Es s so im Grunde, denken Sie daran, dass, wenn
Sie einen Beitrag haben und ,
ähm, ,
ähm,Sie eine Beziehung mit der mit einer Kategorie haben wollen, Sie die Kategorie als Feld platzieren, und es wird im Grunde ein Feld sein. Wenn Sie einen Beitrag nachschlagen, können
Sie Post Start Kategorie tun und Sie erhalten die Wiederherstellung es gehört. aber auch Sie könnenaber aucheine Kategorie nachschlagen und diese Beiträge machen und den Beitrag erhalten, der sich innerhalb
dieser Kategorie befinden . , Also ein paar coole Sachen,die wir hier gelernt haben. Und da gehst du. Sie können sehen, dass der Beitrag des Autors und die Rückseite. Griffeys Autor. Das bedeutet, dass ich Post-Dot-Autor machen und die Beziehung hier bekommen kann. Ähm, das ist
also eine ziemlich nützliche Funktionalität, die du viel benutzen wirst. Also, ähm, kalte Dinge, die wir jetzt in die Liste der Artikel auf der Admin und Homepage springen
, so dass wir irgendwie mögen und die Liste von Artikeln an einem Ort sehen können
70. Liste Artikel: Okay, also werden wir, ähm,
anfangen, eine Liste der Beiträge auf der Admin-Seite anzuzeigen, und auch die Startseite des Blocks gefragt. Also, um das zu tun, müssen
wir, ähm, zu den schwarzen Ansichten
gehen und, ah, statt dessen. Ah, Blogger Admin. Um, nur überprüfen, ob die Sitzung vom Autor abkommt, müssen
wir einen Check aus dem Post machen, den Beitrag
lesen,
um,
wir werden sie in um, einer umgekehrten Reihenfolge in Bezug auf Datum anzeigen und dann senden Sie es an die Vorlage. Und dann müssen wir einige Änderungen von Vorlagen vornehmen, damit dort diese Beiträge angezeigt
werden . Bevor ich damit anfange, wurde
mir klar, dass es unsere Autorenansichten gibt. Wir müssen,
ähm, wenn wir aufpassen, müssen
wir diese Sitzung auch für den Ost-Autor veröffentlichen. Also denken Sie daran, wie wir in einer Sitzung ist Autor für das System. Jetzt müssen wir das auch so knallen, dass, wenn Leute aufpassen, dieser Cookie oder die Session auch
gelöscht wird dieser Cookie oder die Session auch
gelöscht wird. Also geh einfach voran und dabei. Und, ähm, wir müssen jetzt zum Ach, Blob. Verwenden Sie admin, um einen Prozess zu starten, um die, ähm, sorry. Die Block-Posts für
den Admin bekommen . Also sagen wir einfach hier, ähm, wir werden folgendes tun. Wir kriegen ältere Beiträge. Ähm, und wir müssen eine Abfrage selbst machen oder kaufen. Ah, veröffentlichtes Datum. Ich dachte, das e S C bedeutet Abstieg. Und wir haben einmal auf Blut
gepostet, aber wir tun es. Perfekt. Also, jetzt werden wir diese Beiträge an den Admin-HTML übergeben. Also Post gleich Beiträge. Okay, also gehen wir zu den Vorlagen, ähm, für den Blutverwalter. Und, ähm, also haben wir unser, ähm, willkommen hier. Ich schätze, wir können dann folgendes tun. Lassen Sie uns einfach eine mit einer Klasse off-post hinzufügen, damit wir nicht auf und wir werden einen Vier-Look machen. Also für Post in Beiträgen. Und jetzt wird Post ein lebensfähiges für ah halten, für die Post-Informationen, wenn es tut und für hier und jetzt werden wir,
ähm,
einen Post-Artikel machen ähm, , und wir werden das sagen, dass Titel mit einem Hyperlink für diese Titel. Ähm, für den Artikel und bemerken, wie ich den Artikel mache. Der Euro vier auf diesem Logbuch ist das Postprotokoll. Jetzt merkst du, wie einfach das ist, sobald wir das richtige,
ähm,
Dinge an Ort und Stelle haben ähm, , ist
es nicht viel zusätzliche Arbeit. Also, sehen Sie, ich habe jetzt keinen Titel mit einem Hyperlink-Zehe. Der richtige Artikel, und das wird perfekt funktionieren fliegen. Ich vermisse hier ein Zitat. Perfekt. Also, jetzt werde ich ein Ah machen, ich werde einen Text stumm machen, der
, wie,
eine leichtere Art von Schriftart ist wie, . Das wird von Bootstrap
zur Verfügung gestellt. Und ich werde ein bisschen haben, wie eine für Zeile von der Autorin. Diese Ah, jetzt verbindet nirgends. Es gibt etwas, das du tun könntest. Ich sage, wie eine persönliche Herausforderung oder Übung für Sie ist es, wie,
ähm vielleicht Profilseiten für die für die anderen zu erstellen . Und ich werde auf wahrscheinlich, wenn das Datum, um eine Abschlusszeit zu tun. Und ich würde es nicht schaffen. Ah, warum? Und es ist wirklich kaputt, damit es schöner aussieht. Also werde ich hier nur einen Platz setzen, und endlich werde ich die Kategorie haben. Also in, ähm, sie entwerfen gleich und wieder. Sie können dies tun, als Hausaufgaben ist es, Kategorieseiten zu begrüßen, wo der Beitrag für diese Kategorie angezeigt werden. Perfekt. Okay, also gehen wir weiter und sehen, ob das funktioniert. Also werde ich diese Datei speichern. Mal sehen, dass es läuft. Es läuft gut. Das ist also auf dem Admin. Also lassen Sie uns zum Admin-Schrägstrich Admin gehen. Und wenn ich diese Datei speichere, dann benutze ich es. Ich habe die Datei nicht gespeichert. Das ist richtig. Okay, also jetzt, wenn es irgendwelche Fehler gibt und es hier neu geladen wird, dann gehst du. Perfekt. Also, jetzt haben wir alle Beiträge, die wir Interesse haben, die Blawg zu feuern, und Sie haben die von Jorge Escobar gepostet. Dieser Link macht nichts. Und die Kategorie, ähm, die auch nichts tut. Aber wenn Sie den,
ähm,
auf einen einzelnen Artikel klicken ähm, , haben
wir den Artikel geladen. Das ist also großartig. Das ist großartig. So weit so gut. Also lassen Sie uns jetzt etwas Ähnliches für die für die Indexseite tun und gehen wir dorthin. Also, für die Index-Seite werde
ich hier im Grunde sehr ähnliche Sachen machen. Ich werde die,
ähm,
die Beiträge hier haben ähm, , und, ähm, ich werde folgendes tun. Also, wenn ich überprüfe, dass die Blöcke gleich Null sind, dann gehe ich für das Setup. Sonstwerde
ich, werde
ich, äh eigentlich, nein, wir müssen das sonst nicht tun, denn diese Rückkehr wird Will, wir werden einfach eine weitere Ausführung davon stoppen. Also werden wir den Posten hier dasselbe tun, und wir werden eine, ähm mal sehen. Wir werden die Vorlage hier haben, aber ich möchte etwas tun, wenn ich den Blocktitel irgendwo auf der, ähm auf dieser Seite habe. Also werde ich das ein wenig ändern,
indem ich das Blawg-Quer-Konto mache, werde
ich tun, was ich auf der anderen Seite getan habe, was Blawg gleich Blockabfrage ist, und das wird mir nur einen ersten Block geben, so dass in hier statt es Blöcke gleich hier. Ich werde es tun, wenn nicht, weil das bedeutet, dass ich keine Rückkehr habe. Dann tun Sie das. Ansonsten erhalten Sie den Beitrag und übergeben die blawg als Blawg und Post Eagle Beiträge. Perfekt. Also, jetzt werde ich die,
ähm,
die Index-HTML-Seite dafür für die sind tatsächlich,
wie
Blawg-Index-Seite erstellen ähm, die Index-HTML-Seite dafür für die sind tatsächlich, wie . Also lasst uns Ihre Akte lesen. Ich nenne es Index X TML. Und weißt du was? Es wird ein bisschen auf die Herrschaft hier mit den Spitzen. Es tut mir so leid,
Leute,
und normalerweise mache ich Leute, das nicht, aber, ähm, es ist so,
als würde ich
langsam bauen aber,
ähm,
es ist so,
als würde ich
langsam bauen. Es gibt eine sehr coole Funktion hier, die besagt, dass Sie alle Typen schließen können, die Sie
alle anderen Typen schließen können , die nicht diese sind oder schließen Sie stoppt das Recht. Es gibt eine Menge
Glück, Glück, oder? Ich werde nur die Hähne schließen, damit wir von vorne anfangen können. Und, ähm, lasst uns zu diesem Index html hier. So beginnen wir mit erstreckt, um base extreme el nous zu einem Bluttitel mit dem blawg-Namen und blockieren kann. Und als nächstes werden
wir blockieren Inhalte und ich werde Todesklasse gleich Zeile machen. Und dann haben sie Klassengleichheit und den Offset auf die anderen liquidiert. Rufen Sie die Sechs an. Ähm, also hier haben wir den Blocknamen. Das ist, wo wir die Blawg an die übergeben haben, so diese Vorlage und dann haben wir eine Beitragsliste und,
ähm, also werde ich für Post in Beiträgen und dann und vier tun. Und, äh, mal sehen, wir werden die Klasse gleich Post-Artikel und den Titel haben. Deine vier sind zu cool. Slog ist gleich Post Slug, und wir werden den Post-Titel hier haben. Okay, jetzt haben wir das, was wir in der anderen hatten. X stummgeschaltet Beitrag von einem Entwurf gleich ah, Dummy und dann gegensätzliche Angebot vollständigen Namen, und dann werde ich am Post veröffentlichten Datum zu tun. Das s lenken F Zeit Prozent y Prozent m Prozent, das I in einem X ref und dann Post Kategorie kann. Perfekt. Das ist also das. Und, ähm, mal sehen, was wir sonst noch tun müssen. Ich habe das gespeichert und die Blockansichten wieder sehen lassen. Also, Rückkehrer in Vorlage, wir haben den Block der Post. Okay, es sieht gut aus. Lassen Sie mich sehen, ob ich irgendwelche Fehler habe. Nein. Also gehen wir zum Ende Ausdruck. Sehen Sie, was passiert. Ah. En bloc. Wir brauchen einen Endblock auf dem Templates Index html. Wir werden es hier haben. Also Blutgehalt, richtig. Wir brauchen einen Endblock sicher. Keine Fehler. Nachladen. Sie sind perfekt. Ähm, sieht gut aus. Das Einzige ist, dass wir keine Mappe haben, ich denke, wir haben hier keinen Ordner. Ähm, wie wir es im Admin haben. Also, in diesem Sinne, wo haben wir ich? Also hatten wir einen Fuß oder irgendwo? Ähm, mal sehen. Vielleicht war Oh, es war vielleicht in der vorherigen Lektion oder Abschnitt eher auf dem Test. Ja, ich bin verwirrt. Ich dachte, wir hätten einen Fuß oder hier. Es ist also bei einem Essen, denn
das ist etwas,
das jeder Block haben sollte. Also werden wir den grundlegenden Dampf bearbeiten, den ich zerstört habe. Wir haben keinen Fälscher. Das erklärt das. Ähm, also lasst uns hier, sie haben Klasse, ähm, gleich. Also werde ich noch einen Anruf machen, Officer drei, und dann die sechs anrufen. Und dann werde ich ein wenig wie,
ah,
horizontalen Lineal hier setzen ah, , getrennt, und dann setzen wir Essen er, Element. Und wenn ich, ähm, Kopie, richtig, 2015. Und, uh, ja, lassen Sie es uns einfach so behalten. Sehen Sie, wie das aussieht Sparer und Jahre. Und lasst uns zur Startseite gehen. Ja, das sieht viel besser aus. Perfekt. Das ist also unsere erste Homepage. , Mal sehen,
was wir sonst noch können, können wir für unseren nächsten nächsten Abschnitt arbeiten.
71. Fußzeile: Ok. In der vorherigen Lektion habe ich eine Art Fußzeile gemacht, aber mir wurde gerade klar, dass es nicht an der richtigen Stelle ist. Wir sollten es in den Behälter legen. Also, ähm, tut mir leid. Ich finde, es sieht ein wenig funky aus. Und ich denke, das ist der Grund, warum. Also lassen Sie mich das sagen. Und lasst uns die Seite neu laden. Ja, das sieht viel besser aus. Also war es irgendwie so, als ob draußen hier drin war wie Was ist das? Also ja, das sieht
das viel besser aus, wenn ich hier klicke, ich bekomme die tatsächlichen Artikel. Das ist großartig. Ähm, eine Sache, die ich hier hinzufügen wollte, war eine Art Helfer. Wenn Sie eingesperrt waren, ,
ähm erlauben Sie
,
ähm,
irgendwie, ah, vielleicht eine Logging-Seite oder einen Logging-Link zu bekommen oder auszuschauen, wenn Sie eingesperrt waren. So werde ich es also tun. Ähm, ich werde das überprüfen. Wenn es eine Sitzung gibt, merke
ich, dass wir Zugriff auf die Sitzung haben. Objekt hier innerhalb der Vorlage mit, ohne einen Import oder irgendetwas tun zu müssen. Also bedenken Sie das. Also, wenn wir einen Autor eingeloggt haben. Dann werden wir sagen,
ähm, ähm, eine Reise ist dir gleich, Earl. Vier. Ah,
admin, so dass Sie auf die Admin-Seite gehen können, wenn Sie wollten. Und dann werde ich ein Ende machen, wenn und ähnlich, Ich möchte überprüfen, ob die Sitzung ISS sagte für, ähm für Benutzernamen. Ich meine, es ist ein angemeldeter Benutzer. Dann kann ich ihnen helfen, sich abzumelden. Also lassen Sie mich kopieren und einfügen. Es gibt Euro vier. Loggen Sie sich aus und dann schauen Sie sich hier und tatsächlich ging eine andere hier so anders, wenn sie nicht Benutzernamen sind, Sessions sagte, dann werde ich sie einladen, sich einzuloggen. So H ref Europa für die Protokollierung und Logan. Mal sehen, ob das funktioniert. Uh, nachladen. Perfekt. Also, weil ich meine, ähm, und er Autor ist. Dann bekomme ich den Admin hier Link klicken, und wenn ich Garrick niedrig und dann sicher schauen will. Und jetzt sehen Sie, es hat mich wieder nach LA eingeladen. Also, wenn ich mich hier einloggen kann und 12345 und ja, das bringt uns zum Erfolg der Protokollierung, wenn wir uns auf die Homepage bringen sollten. Also schauen wir uns das auch an. Also,
nachdem sich Leute richtig angemeldet , haben,sind Sie vier Index statt auszupeitschen, und wir können weitermachen, und, ähm, ich meine, wir brauchen diese Erfolgsfunktion nicht mehr.
72. Seitennummerierung: Okay, was wir jetzt tun werden, ist, dass wir eine Paginierungsfunktion haben, und das ist etwas, das Sie auch oft auf Blogging-Seiten sehen werden. Und jede Tonhöhe, die jeder, wenn diese Anwendung, die Seiten mit Inhalt hat, Ähm, Sie werden das tun wollen. Die Art und Weise, wie wir das tun, besteht darin, eine eingebaute Funktion von,
ähm,
von geheimen Sperren zu verwenden ähm, , die es Ihnen ermöglicht, eine paginierte Art wie, ähm, ähm, Zugriff oder Abfrage auf die, ähm, auf die Website. Mal sehen, wie wir das tun können. Das erste, was wir tun werden, ist, dass wir Ansichten blockieren, und wir werden hier oben eine Konstante festlegen, die Beiträge pro Seite sein wird. Ähm, Festlegen von Konstanten auf dem eigentlichen Controller ist etwas, das in Ordnung ist, solange es sich nur auf diesen Controller auswirkt. Oder diese Ansichten sind, warum alle Leute es vorziehen, dies in einer Einstellungsdatei zu haben, wenn es mehr als 11 Abschnitt betrifft. Aber es ist in Ordnung, es hier zu haben. Ähm, weil es gerade ein Paar für diese Akte sein wird. Also, was wir hier tun müssen, ist, dass wir einen ah hinzufügen müssen, im Grunde auf einem Seitenparameter über den Euro selbst, damit ,
ähm, Nachfolger Alchemy dann die richtige, äh, die richtige Art von wie Indexseite. Mal sehen, wie wir das machen. Wir werden jetzt Eintrittspunkte für diesen Controller haben. Also eher Dysfunktion, was Index- oder Indexschrägstrich eine Zahl wie 1234 sein wird und das wird die
Seitenzahl sein . Und hier werden wir Seite gleich eins haben. Was bedeutet das? Es bedeutet, dass, wenn Indizes ohne eine Seite aufgerufen werden, wie in, wenn Sie es durch den Index oder nur einen Schrägstrich aufrufen, die Seite
automatisch auf eins gesetzt wird . Andernfalls braucht
es die Nummer, die hier auf der Route übergeben wird. Okay, ähm, das andere, was wir einhalten müssen, ist jetzt eine paginierte Funktion am Ende der Abfrage. Und so machen wir die folgenden, ähm, Paige und Beiträge pro Seite und, um, und dann 1/3 Parameter genannt Fehler. Und was bedeutet das falsche Fleisch? Es bedeutet, dass, wenn eine Seite, die sie im vergangenen Jahr ist, nicht existiert, dann gibt sie eine 44 zurück Wenn sie auf true gesetzt ist und wenn sie falsch ist, dann überprüft er nicht danach. Er ist nur eine falsche,
äh, eine äh Art Seitenzahl, dann gibt es nur eine leere Liste zurück. Also gebe ich sie lieber zum Leasing zurück und habe keine 44 Ähm, also das ist das. Und jetzt müssen wir passieren. Ähm, ah. Also im Grunde, jetzt, dieser Beitrag, ähm, Objekt hat eine ah, eine neue
Set-off, off oder eine Liste von Objekten namens Items. Also lassen Sie uns sehen, wie wir irgendwie mögen können, das auf der tatsächlichen Vorlage
verwalten, weil es auf die Indexseite geht. Eine Sache, die ich tun möchte, ist, dass ich eine h ref für haben möchte, um für den Blocktitel, so dass Sie zu den Startseite zurückkehren können. Ähm, du klickst auf diesen Namen, und das wäre irgendwie eine Möglichkeit, zurück zur ersten Seite zurückzukehren, wenn wir
hier eine Paginierung haben . Also okay, das ist das, ähm und dann werden wir im Grunde haben müssen wir stattdessen die,
ähm,
die Beiträge hier ändern ähm, . Aus dem Posten. Wir werden posten, wir werden Gegenstände übergeben. Also, jetzt ist dies die neue Art von wie es ist nur eine Liste von Leuten, die innerhalb dieser
Seite sind . Okay, um und, ähm, lass uns hier sehen. Ähm, wir wollen ein jetzt haben wir wollen eine Paginierung wie, äh, irgendwie, wir wollen ein jetzt haben wir wollen eine Paginierung wie,
äh,
irgendwie,
sagen wir,
mein Essen oder richtig,
also wäre das, sagen wir, mein Essen oder richtig, also wäre das, Legen wir es hier an, ähm, in der Nähe des Bodens. Und wenn ich das nenne, ist der Beitrag paginiert und es ist, was es uns erlauben wird, irgendwie, wie die vorherigen und nächsten Seiten anzuzeigen. Ähm, und Sie können auch ältere andere Dinge hier drinnen tun, aber ich werde nur bei früheren auferlegten bleiben. Also werden wir überprüfen, ob Beiträge vorherige haben, was diese Art von wie eine Hilfsfunktion ist , die das Paginierungsobjekt hat. Dann, ähm, werden
wir folgendes haben. Lasst uns Und wenn ja, werde
ich hier setzen, äh ref entspricht,
ähm, ähm, Euro-Vier-Indexseite, und dann werde ich passieren. Die Seite ist gleich Beiträgen. Vorherige Zahl prv taub. Das ist also automatisch in die Zehe eingebaut. Setzen Sie die Nummer von der vorherigen Seite in den Euro und dann werden wir, ähm, zu mögen, klein wie unsere Pfeile und halten. Da gehst du. Und dann werden wir neuere Beiträge setzen, weil das von kleiner,
zu groß ist . Ähm, und Ähm, wenn wir keine
neueren Beiträge haben, , bedeutet
das, dass wir die erste Seite suchen. Dann können wir hier anders machen,
richtig, richtig, Els und, äh,
Leute, die sonst hier sind, damit es anders besser aussieht. Ich werde das nur ohne den Hyperlink zeigen. Ähm okay. Und dann haben wir hier
ein kleines Separator gesetzt , und dann werde ich im Grunde dasselbe tun. Also werde ich das meiste kopieren und einfügen, aber ich werde ein bisschen ändern. Was machbar? Wir haben überprüft. Also, jetzt werden wir zu überprüfen, ob Beiträge hat nächste anstelle von vorherigen. Das ist der Nächste. Dann werden wir ihre Euro-Vier-Indexseite anzeigen, und dann wird das nächste taub sein, und ich werde hier ältere Beiträge perfekt setzen. Damit sie kümmern sich darum, dass Mal sehen, ob dies bereits funktioniert. Lassen Sie mich gehen zum Admin, kommen Sie auf die Homepage und sehen Sie das in Aktion. Perfekt. Also jetzt sehe ich, es gibt neuere Post ist es nicht. Es ist nicht verlinkt, aber ältere Beiträge ISS. Und wenn du das lah siehst, ist
es Index, das ist auch. Und wenn ich dort klicken Wow, Index berührt zwei. Das ist ein Schrägstrich zu. Vielmehr funktioniert
das ziemlich gut. Ähm, also und jetzt haben neueren Beitrag eingeschaltet und, ähm, und ältere Beiträge deaktiviert. Das bedeutet, dass ich nur, sagen
wir vier, oder? Ja. Vier, ähm, Artikel. Also ja, das funktioniert wirklich gut. Und, äh, lasst uns das Gleiche für den Admin machen. Okay, also, ähm, wir müssen das Gleiche tun. Eine ähnliche Sache hier. Also werden wir die gleiche Route machen. Ah, Trick mit Admin hier, und wir werden eine Seite haben, ähm, gleich einer Onda. Endlich werde
ich Pagine acht dasselbe hier mit den Pfosten. Und, ähm, das ist es auf der Controller-Seite. Mal sehen, auf der Admin-Seite. Also werden wir das Gleiche tun. Ah, vielleicht treff Jahr. Du bist für Admin, und dann hat mich der Schlag hierher gebracht, und wir werden den Posten als Artikel haben, und ich werde die Paginierung hier kopieren und einfügen. Und wir könnten das halbe Zeug in einem Makro beantragen. Aber, ähm ja, vorerst ist
das hier drauf. Hier, ähm, das sieht richtig aus. Posten Sie Artikel. Ja. Und vier die Yeah, sieht gut aus. Also versuchen wir es,
ähm, wenn wir irgendwelche Fehler haben und gehen wir auf die Admin-Seite und jetzt haben wir Phantasie. Perfekt. Das funktioniert also wirklich gut. Und wenn ich auf das Oh klicke, warte, ich setze hier den Index ein. Es sollte admin sein. Ich habe mich gefragt, was da passiert ist, , weil er stattdessen die Indexseite verlinkt hat. Also gehen wir zurück. Nachladen. Ältere Post Admin. Perfekt. Mythisch hier. Ich werde zur Admin-Homepage weitergeleitet. Ehrfürchtig. Das ist Paginierung. Wirklich? Wir sehen uns wieder. Sie haben keine Ahnung, wie schwer das ist, wenn Sie es wie manuell machen möchten. Es gibt eine Menge Arbeit, die ich im Laufe der Jahre getan habe, um Paginierung einzurichten. Du lebst also in einem großen Alter, um, dass die Dinge viel einfacher für uns sind, und wir können uns darauf konzentrieren, die wirklich wichtigen Dinge aufzubauen. Das ist es also für diese Lektion. Ähm, und, ähm, das nächste, was wir sehen werden, ist, ähm, das Hinzufügen von Fotos für die Entsorgung. Also lasst uns dorthin gehen
73. Flask installieren: Okay, also jetzt, ähm, in diesem, ähm, kommen
ein paar Lektionen. Wir werden der Post ein Foto oder eine Art Bild hinzufügen. Und dafür
gibt es eine ziemlich gute Bibliothek, so dass wir das Rad nicht neu erfinden oder
wie eine Menge von den benutzerdefinierten Sachen tun müssen, die Sie tun müssen. Ähm, weil ich das Gefühl habe, ähm, es ist ein Problem, das bisher sehr gut gelöst wurde, also habe ich nicht das Gefühl, dass wir es manuell machen sollten. jedoch , Wenn Siejedochuntersuchen wollen,
dass , immer irgendwie ein Fonds ist,
es zu versuchen, es selbst zu bauen,
wie das Bild des Ladeprozesses und, wissen
Sie, Art wie, ähm, Umgang mit der Datei aus der Form usw. Es gibt also einige Dinge, die nützlich sind zu lernen,
aber, ähm, ähm, ich glaube nicht, dass es ein Es ist etwas, das von Grund auf neu bauen sollte. Zu diesem Zeitpunkt, denke
ich, ich, es
gibt da draußen bessere Lösungen und
statt Sie sollten , sich darauf konzentrieren, ich bin
Bauen anderer Sachen, die es nicht ist ,
ähm wissen
Sie, das Bild des Ladestücks hat gesagt, dass ,
ähm,
normalerweise, was wir auf der flachen Seite für Bilder verwenden, ein Gepäck namens Flask Uploads, und es ist wirklich gut. Wir werden sehen, wie es funktioniert. Ähm, das einzige Problem war, dass es nicht mit Python drei funktionierte. Und erstaunlich, ähm, der Autor von diesem Paket oder dieser Bibliothek war irgendwie wie ein „Mein A“ und, ähm, arbeitete an anderen Sachen und hatte einfach keine Zeit,
um fortzufahren, ähm, aktualisieren es. Und, ähm, also war ich so, du weißt schon, sollte ich es einfach ähm,
also war ich so,
du weißt schon,
sollte ich es einfachaus einem Traktor
bauen? Sollte ich versuchen, es immer noch mit Python drei zu verwenden. Und was ich am Ende tat, war,
ähm, ich änderte die Bibliothek mit, im Grunde reparierte sie, damit er von drei arbeiten konnte. Und ich habe das auf der,
ähm, hier sind die tatsächlichen Änderungen gepostet . Eine kleine Änderung ist wirklich nichts Großes, aber, wissen
Sie, der Autor hat es nicht aktualisiert, wie ich sagte, also habe ich es hier auf meinen Get Hop gesetzt. Und was? Wir werden es tun. Dies ist eine gute Art Übung für euch Jungs ist, dass wir tatsächlich in der Lage sein werden,
diese Bibliothek auf die Anforderungen hinzuzufügen . Txt verwenden eine Art wie ein ah, bekommen Konto. Ähm, dass es nicht die regulären Leute sind, die Bibliothek installieren. Also werden wir das tun, Ähm, und ich gebe Ihnen den Euro für die Bibliothek. Oder Sie können es einfach mit mir eingeben. Aber lasst uns anfangen, das zu tun, okay? Damit wir dies tun können, gehen
wir zu offenen Anforderungen. Txt. Und am Ende,
um, um, fügen
wir den folgenden Bindestrich e hinzu und dann Leerraum verlieren Sie die PS, äh, bekommen Sie Punkt com Schrägstrich von Null eu Slash Flask Uploads und dann, um Hashtag ein EG gleich Flask Uploads. Das sagt den Leuten, dass du eine Bibliothek installieren wirst, dass sie nicht auf die Hauptleute ist. Ah, Repository. Aber du ziehst es tatsächlich von woanders her. Und solange das ein Get ist, äh, holen Sie Repo. Es ist völlig in Ordnung. Das ist, wenn ich ausarbeite. Also lasst uns ah, lasst uns das installieren. Also, wie wir das tun, ähm, stellen Sie sicher, dass Sie Ihren ve Neid am Anfang haben, ermöglichen Menschen noch Niederländisch, unsere Anforderungen txt Also es lädt alles herunter. Und jetzt sagt es, dass es flache Uploads erfolgreich installiert hat. Also, wenn es anfängt, dies einzurichten ,
Okay, also der nächste Schritt, den wir tun müssen, ist Geld, um einige Konstanten zu den Einstellungen
drei y hinzuzufügen und mal sehen, was das sind. Also, ah, Einstellungen sind Warum? Koffer? Wir werden das folgende hinzufügen, ähm, hochgeladen von geladenen Bildern Ziel. Dies ist im Grunde der Pfad, ähm, auf dem Sie die Bilder hochladen, wenn der Benutzer sie hochlädt. Sie in diesem Fall, BeachtenSie in diesem Fall,dass ich meinen eigenen Weg benutzen werde. Sie müssen dies also durch Ihren Pfad in Ihrem Server ersetzen. Und es sind im Grunde, ähm mal sehen, Flats Blawg, äh, statische Bilder. Also müssen wir Ah,
Ordner dafür in der,
ähm,
in Ihrem Pfad erstellen Ordner dafür in der, ähm, . Richtig. Also in statischen. Ähm, lassen Sie mich das minimieren. Ähm, also studieren wir nun, wir haben hier kein Studium. Okay, also müssen wir diesen Ordner erstellen. Ähm, also lasst uns einen
neuen Ordner erstellen . Wir werden statisch machen. Und dann innerhalb dieses Ordners, werden
wir einen neuen Ordner namens Images erstellen. Ok. Und wie Sie sich aus dem vorherigen Abschnitt statisch erinnern können Es ist eine besondere Art von, wie Verzeichnis für Flask. Wo servieren Sie? Ähm, irgendwie,
ah, statische Inhalte, statische Inhalte, wie Javascript-Bilder, diese Art von Dingen. Jetzt müssen Sie überprüfen, ob Sie auf Flash-Block sind, machen Sie einen PWD und überprüfen Sie, ob dieser Pfad wie dieser Pfad aussieht. Und ja, Sie können hier sehen, ist ein Segen zu Arbeitsbereich Wohnungen, blawg. Und dann überprüfen Sie auch, dass statische Bilder vorhanden sind. Also, du machst es statisch. Du machst einen Tab. So dass unsere Felder und dann Bilder, so dass das in Ordnung ist. Das funktioniert gut. Und dann wird die andere Einstellung die Bilder hochgeladen. Und in diesem Fall ist
es,wie Sie diesen Bildern dienen. Und in diesem Fall ist
es, Und wir werden diese statischen Bilder nennen. Das ist wie der Euro, der jedes Bild vorbereiten sollte, dem wir dienen werden. Also, das ist das, Äh, also lass uns jetzt weitermachen und anfangen, das Upload-Set auf dem darin
einzurichten einzurichten . Also, jetzt hier drin, ähm, werden
wir ein paar Sachen hier drin hinzufügen. Erstens ist von Kolben, uh, Uploads, die Uploads, Import off Load Set, Kamm Abbildung Uploads und Bilder. Ok. Und, ähm, unter Ah,
sehen Sie von Kolben-Uploads , die einen Bereich außerhalb der Last setzen Komma gehen. Und hier werden wir auf Bilder Abschnitt tun, und wir werden hochgeladene Bilder gleich off load, setzen Sie Bilder, off Typ Bilder. Eso hochgeladene Bilder definieren im Grunde, welche Art von Bildern wir sein werden. Ähm, wir werden laden und wie tose Name das Set, Sie können mehrere Sets haben, wie zum Beispiel Bilder. Ich rufe die Post-Bilder auf, aber Sie könnten ein anderes für,
wie,
Benutzerprofile haben wie, , und Sie könnten diese Profile aufrufen. Und das hat im Grunde damit zu tun, wo, ähm, das System, das sie die Wohnungen
hochlädt, speichert, die Daten über das obige Bild gemacht haben. Ähm, das nächste, was wir tun werden, ist, Uploads zu konfigurieren, und wir haben die App an sie übergeben und die hochgeladenen Bilder Ah, lebensfähig, die wir gerade erstellt haben. Und das war's. , Also,jetzt werden wir,
ähm,
speichern, ähm,
speichern, dass diese Bilder auf einem Feld innerhalb des Modells von der Post sein werden,
und im Grunde, was gespeichert ist, ist das Pfadbild. Also lasst uns das machen, damit wir Blutmodelle gehen. Und so zunächst müssen
wir
zunächstDB und jetzt hochgeladene Bilder importieren. , ähm Und auf der, ähm, inder Klasse,
äh,
auf dem Posten unter der Leiche, die wir auf dem Bildfeld haben, und das Bild wird eine DB
Spalte sein. der Klasse,
äh, äh, auf dem Posten unter der Leiche, die wir auf dem Bildfeld haben, und das Bild wird eine DB
Spalte sein Ah, vom Typ String aus. Ich werde 255 setzen, nur für den Fall, dass wir nicht so viel brauchen, aber das ist wahrscheinlich keinen Sinn ergibt. Und dann auf dem darin, um, werde
ich eine Eigenschaft hinzufügen. , Mal sehen,hier vor dem,
ähm, ähm, vor dem und es eigentlich, damit ich es zu einer Eigenschaft machen werde, die von diesem Rekord entfernt ist. Also gibt es eine Decorator Cold Eigenschaft und Eigenschaft bedeutet, dass es Ihre Art von wie Schaffung eines von diesen, wie Titel Körper Bild. Du wirst ein neues erstellen, aber dass es berechnet wird,
ähm, je nachdem, was du aufzeichnen kannst. Also ist es ein Es ist ein guter Weg, um die Art von zu modifizieren, wie was? Aber wird vom Objekt zurückgegeben, ohne zu müssen, tatsächlich, wissen
Sie, muss
nicht existieren, wo Sie es im laufenden Betrieb schaffen können und diese Eigenschaft, die wir als
Bildquelle bezeichnet werden . So Bildquelle ist ah, es ist eine Eigenschaft aus dieser Klasse und was das tut Es gibt die hochgeladenen Bilder zurück. Dein l aus dem Rekorde Bild. Ähm, Feld. Das ist nur eine Datenbank. Also, wie Sie dort sehen können, ,
ähm gibt es,
ähm, es wird einige,
wie Berechnungen durchgeführt werden, weil es nicht nur die,
ähm,
nur die Bild-Aufzeichnung zurückgeben wird ähm, , aber es wird durch die hochgeladenen Bilder gehen, was eine Flasche ist. Hochladungen. Okay, das ist
also das. Also müssen wir jetzt eine Migration durchführen, um diese Dinge Änderungen in der Datenbank zu setzen. Okay, also öffnen wir das Terminal. Und wenn ich Python erledige glücklich. Warum DB migrieren? Und, äh, mal sehen, wie das aussieht. Perfekt. Also haben wir 9 zu 7 generiert. Es ist also diese Akte hier. Schauen wir es uns an. Und, ähm, richtig, wir bekommen hier ein Post-Spaltenbild, also wird das erstellt. Ähm, und dann das Leben posten. Siehst du, das ist so wie der Bug, über den wir auch mit seinem Autor reden,
was so ist, als wäre es immer außerhalb von Anlagebarren. Es ist irgendwie so, als müsste sie wieder modifiziert werden. Aber wieder, es ist nicht etwas, das etwas beeinflussen wird. Das Wichtigste ist das hier, was es auf dem Bild ist. Ähm, Kolumne wird erstellt, also sieht das gut aus. Es ist nah dran,
ähm, und deshalb werden wir das Upgrade auf die Datenbank durchführen. Also per Telefon verwaltet B Y d b Oh, großartig. Perfekt. Also sieht alles gut aus und Ah, also sollten wir jetzt in der Lage sein, weiterzumachen ,
ähm, unsere Arbeit und das ist jetzt anfangen, an den Interviews zu arbeiten.
74. Image hinzufügen: Okay, also, , bevor wir das machen, die irgendeinen Blick Zeug, gehen
wir zu den Formularen, weil wir das dem Formular hinzufügen müssen. Und die Art und Weise, wie wir das tun werden, ist die folgende. Ähm, wir müssen hier eine Zeile für das Dateifeld hinzufügen, das wir von Flask wtf Dot Datei
Importdatei , Feld und Datei machen werden erlaubt. Und, ähm, dann werden wir auf dem Postformular hinzufügen, ähm, vor dem Titel, wir werden ein Bild haben, das ein Dateifeld sein wird, und dann wird es sein, ah, den Namen des Formulars. Die außerhalb des Feldes wird ein Bild sein. Und dann, Validatoren, haben
wir die folgende Ah,
Datei erlaubt, damit wir tatsächlich filtern können, welche Arten von Bildern wir akzeptieren können. Also machen wir jetzt J-Pegs und P- und G's. Ähm, und dann, ähm, die Luftnachricht dafür wird nur Bilder sein. Und das ist nah dran. Das ist perfekt. Also haben wir unsere Post, äh, Formular mit einem neuen Bild. Ähm, irgendwie,
ah, Feld, um zu beginnen, um unsere Bilder
zu akzeptieren. Jetzt müssen wir also das letzte, was wir tun müssen, ist mit der Arbeit an den Blockansichten zu beginnen, aber mal sehen, wie das auf dem tatsächlichen Formular aussieht. Also, jetzt müssen wir die Blockform ändern, richtig? So dass es es im Tempel wirklich der Posten. Da gehst du. Damit wir irgendwie hinzufügen, ist das Neue das neue Feld für das Bild? jedoch Es gibtjedocheine kleine Änderung, die wir tun müssen, damit Formulare Bilder verarbeiten können. Der entsprechende Typ muss angegeben werden. Und das sieht so aus. Sie tun Codierungstyp, mehrteilige Formulardaten. Nun, was das bedeutet, ist, dass, ähm normalerweise, was HTML tut oder HTP eher, dass es ist? Es hat ein Trennzeichen. Und es steht, von diesem Punkt bis zu diesem Punkt, werden
Sie, wie,
normale, Ah, Ah, normale Felder für Daten wie, Sie wissen, die Titelkörperkategorie wie Textfelder. Und dann gibt es einen Separatorentwurf tatsächliche Zeichenfolge, nach dem es sucht. Und dann, von diesem Punkt an, ist
es ein Bild, das irgendwie wie kodiert ist, um so dass der Server es lesen kann. Das ist also, was dieses Multipart tut. Also und jetzt müssen wir nur zu diesem Feld hinzufügen. Ähm, wir brauchen ein Formularbild, das da ist. Perfekt. Mal sehen, ob wir irgendwelche Fehler haben. Wir haben keine Luft, also lasst uns das nachladen. Und jetzt habe ich ein Bild. Äh, wählen Sie die Datei. Also, wenn ich mich dafür entscheide, hier einzureichen wird
es sagen, Oh, weißt
du, was. Welches Bild möchten Sie auswählen? Und dass wir jede Mission dort auswählen können, und dann, ähm, dann wird es mit der Post geschickt werden. Lassen Sie uns also daran arbeiten, wie Sie dieses tatsächliche Bild auf dem Post erhalten, und das ist auf den Blockansichten. Also lasst uns dorthin gehen. Eine Sache, die mir gerade klar wurde, ist, dass wir diese Eigenschaft für die Bildquelle gemacht haben
,
aber wir haben
eigentlichnicht ,
aber wir haben
eigentlich , eingerichtet das Bildfeld für die Einheit
eingerichtet. das Bildfeld für die Einheit Ähm, was chamacallit ist. Sie brauchen eine richtige Liste. Also müssen wir hier ein Bild anzünden. Und so werden wir Bild gleich keines machen. Das bedeutet, wenn es ist, wenn ich meine, ich meine, ein Bild wird nicht übergeben. Das ist in Ordnung. Wir sollten immer noch den Block Post erstellt haben. Also ist es eine optionale Sache. Also, ähm, so dann nach Kategorie eso Kategorie ist erforderlich. Also nach der Kategorie werden
wir uns selbst machen. Dieses Bild entspricht dem Bild. Das Bild wird also auf dieses,
äh,
also diese eigentliche,
Sie wissen schon,
Eigenschaft gesetzt äh,
also diese eigentliche, Sie wissen schon, Sie wissen schon, werden. Und es ist eigentlich dieses Bildfeld hier drin,
okay, okay, aber wenn wir eine Bildquelle anfordern, wird
das die eigentliche sein, die Sie hochgeladen haben, Bilder oder Wohnungen Uploads setzen. Also OK, jetzt sind wir bereit zu beginnen, ähm, an der tatsächlichen Ansicht zu
arbeiten. Gehen wir also zum Zeh, zu
den Blogging-Ansichten, und fangen wir an, dass auf dem ausländischen Postformular zu arbeiten. Aber bevor wir das tun, müssen
wir ein paar Dinge auf die Oberseite lassen, ähm, aus der Flasche. Ah, wir müssen das Anforderungsobjekt hier hinzufügen wir müssen das Anforderungsobjekt hier hinzufügen. Und wir müssen auch von Wohnungen gebloggt, importieren Sie hochgeladene Bilder. Perfekt. Ähm, jetzt gehen wir in die Post Abschnitt und er formulierte auf Einreichung. Hier werden wir das Bild überprüfen. So wird das Bild zusammen mit der Anfrage gesendet. Also sagen wir, Bilder fordern, dass Dateien Bild zu erhalten. Dieser Bildname ist der gleiche Bildfeldname, den wir auf dem Formular gesagt haben. Und dann werden wir sagen, dass es einen Dateinamen gibt, den er auf keinen gesetzt wird. Also werden wir hier einen Versuch machen,
also versuchenwir etwas,
und wenn es nicht funktioniert,
dann machen wir eine Flash-Nachricht. Also werden wir hier einen Versuch machen,
also versuchen wir etwas, und wenn es nicht funktioniert, Aber, ähm, also machen wir Dateiname gleich, hochgeladene Bilder, dieses sichere Bild. Also, dass Bilder, dieses Bild hier und was hochgeladene Bilder versuchen wird, ist es im Ordner statische Bilder zu speichern . Und wenn es dann, wenn es,
ähm, wenn es erfolgreich ist, dann gibt es das an die Familie zurück. Und wenn es scheitert, dann sagen wir Flash. Ah, das Bild. Es war kein aufgeblähter. Okay. Und, ähm, dann hier auf der Post, werden
wir folgendes nach Kategorie passieren,
und Ah, und Ah, also lasst uns, ähm, mystisch das. Okay, also das Ticket gibt es irgendwelche Fehler... Bisher, so gut. Es wäre ziemlich aufregend, wenn wir das zum Laufen bringen. , Lassen Sie
mich,als es eine Akte war. Also habe ich das Flask-Logo hier auf aus dem Web heruntergeladen. Also, da gehst du, und dann werde ich den Titel setzen, ist ein Bild Flask Logo-Test. Dies ist unser erster Test mit einem Bild. Und, ähm, lassen Sie mich einfach die Konsole einschalten, weil ich sehen will, ob wir irgendwas in Jahren Kategorien bekommen. Flask, und das sollte es sein. Mal sehen, was hier passiert. Post. Nein. keine Fehler gemeldet, und es sieht so aus, als ob es korrekt gepostet wurde. Also, wenn wir ein ästhetisches Bild sehen Oh, sieh dir das an. Wir haben unseren Kolben unten. Das ist erstaunlich. Also, jetzt haben wir das Flask-Logo auf diesem auf unserem statischen Bilderordner, und ich werde schnell überprüfen, ob die Datenbank erhalten hat, dass das tatsächlich durchgegangen ist. Also mal sehen. Zeigen. Ich will sehen, ob ich an der richtigen Stelle bin. Ja. So Wählen Sie Stern von Post. Ähm, und ich sehe schon hier Bild Fleiss, lokaler Test. Und ich sehe Fleiss. PNG. Das muss also folgendes sein. Und es bedeutet, dass es richtig zu den Datenbanken ging. Na ja, so tolle Arbeit. Das ist erstaunlich. Also, jetzt müssen wir tun, ist, dass wir diese Bilder auf den tatsächlichen Artikeln zeigen müssen, also wird das unser nächstes sein, es
sei denn, es ist
75. Image sehen: Okay, also lass uns gehen. Und, ähm, das ist genau Stopps. Äh,
denke, wir füllen uns wieder mit vielen Wasserhähnen. Und, ähm, das ist das erste, was ich sehen will. Wenn ich anzeigen kann, ist auf dem tatsächlichen auf dem Blutindex, ähm, html. Und die Art und Weise, wie ich das tun werde, ist,
ich werde versuchen,es zu , schaffen,
um, ähm, auf dem eigentlichen Posten ,
ähm ,
ich werde irgendwie ,
ähm,
ich werde irgendwiein Dave
trennen. Eine wird für das Bild auf der linken Seite und ein anderes für das Bild auf der rechten Seite sein. Also werden wir tun, das ist folgendes. Also diese steife, sehen Sie, wir haben Steve hier, also werden wir sagen, Post-Artikel und ich werde das eine Reihe nennen,
damit , Bootstrap weiß,dass es hier eine Unterteilung gibt, also haben sie Klasse gleich col N d neun. Es wird also das größere Stück davon und Boden und das hier sein, und sie wollen eine weitere Dave Klasse gleich in den drei machen. Und das summiert sich auf 12. Und ich möchte sagen,
wenn sie ein Bild sind,
dann Bildquellegleich ist,
und hier werden wir diese,
ähm,
die Bildquelleigenschaft verwenden, die wir auf der sie ein Bild sind,
dann Bildquelle gleich ist, und hier werden wir diese,
ähm,
die Bildquelleigenschaft verwenden ähm, , die wir auf der Ähm, auf dem Modell. Und ich werde sagen, Höhe ist gleich 60 Pixel. Also sagte ich, sie verstecken sich zu einer Konstanten, und wenn ich es eine schöne Klasse aus Bild, für die unser Dienstprogramm von,
äh,
zerbröckeltem Riemen ist äh, . Und ich glaube, das war's. Perfekt. Mal sehen, ob wir das sehen, ähm, da
drin. Gehen wir zum Zeh. Die Indexseite. Nein. Und für uns, Mason und vier Block in sexistischer E-Mail. Nein, ich hatte nicht das Ende des Beitragsbildes. Richtig. Und wenn du hingehst, siehst du? Sieht gut aus. Ähm, und das Bild ist sehr klein da drin. Sehen Sie, wie die Bildquelle aussieht. Ah, es druckt es nicht. Riesige Quelle ist gleich. Mal sehen, hier. Oh, ich habe einen Typ. Seine Bildquelle. Da gehst du. In Ordnung, lassen Sie uns das noch einmal versuchen und nichts. Es, was Sie bezahlt Quelle. Ah, statische Bilder. Fläschchen Okay, das ist es
so, als würde ich danach einen Schrägstrich vermissen. Und das könnte an den Einstellungen B y liegen. Ich setze das Falsche. Ihr seid alle hier, also sieht es so aus, als müssten wir nach dem hier einen Euro hinzufügen. Ah, diese Definition. Also dieses Mal sollten wir gut sein. Mal sehen. Nachladen. Und da gehst du. Endlich. Ähm, das sieht wirklich schön aus. Ähm, es ist eigentlich,
ähm, das ist eine Menge von Charakter bis zum zum zur Homepage. Aber jetzt haben wir das Bild nicht auf dem eigentlichen Blockpost, also lassen Sie uns das beheben. Also lasst uns zum Artikel gehen, ext. E-Mail. Und wir werden die hinzufügen,
ähm, bevor der Titel des Beitrags zu einem Scheck ist, ob Bild posten und ihr Jungs. Jetzt verstehe
ich, warum ich dieses Ende in der Nähe des Blocks mache, weil ich
manchmal viele Probleme habe . Wie das Zeug zu beenden, wie ich es vergessen habe. Also werde ich Bildquelle gleich machen. Hoppla. Ähm, posten Sie Bildgeschwüre. Und dann werde ich hier die Höhe sagen. Ich werde es etwas größer ausdrücken. 300 Pixel in der Klasse ist Bild um sie herum. Perfekt. Das sollte sich also darum kümmern. Mal sehen, ob wir in Jahren keine Fehler haben. Also, jetzt lade ich das neu und ich bekomme einen Fehler hier auf der gleichen Sache. Es ist Bildquelle. Ist es ein örtlicher Wrack? Das macht das. Das ist komisch. Nun, da gehst du. Ah, es sieht ein bisschen groß aus. Ich schätze, es liegt daran, dass ich eine größere Größe habe. Ich schätze nicht. Also lasst uns das etwas kleiner machen. Das ist ein 150 Pixel und sehen, wie das aussieht. Ja, das ist ein bisschen besser. Du kannst damit spielen. Ähm, aber das sieht Gewalt aus. Und Ah, das war's. Wir haben unsere,
ah, ah, Artikelansicht mit dem Bild und,
ähm, ähm, und sieht so aus, als ob alles perfekt funktioniert. Also herzlichen Glückwunsch ist das. Ah, das ist ein großes Unterfangen. Und, Ah, das nächste, woran wir arbeiten werden, ist, ähm, wir werden den Beitrag bearbeiten, denn manchmal willst du, wie nachdem du einen nautischen gerettet hast, Sie möchten, können Sie es bearbeiten. Mal sehen, wie wir das machen.
76. Artikel löschen: Okay, jetzt machen wir,
ähm, ähm, an der Funktionalität aus der Bearbeitung oder an der Spitze eines Postens. Ähm, und wir werden das in der Artikelansicht sehen. Also lasst uns versuchen, das zu tun. Das erste, was ich will, ist der Artikel, ähm, Vorlage. Und ich werde nach dem Titel hinzufügen,
ähm, ähm, einen kleinen Link, der sagt, wenn Sitzung den Autor nicht bekommen. Nein, es ist Autor. Tut mir leid, er hat Angebot. Dann lassen Sie mich versuchen und gehen auf eine Reise mit dem Mädchen für hatte es Post I d gleich geschrieben die so
werde ich passieren. Also diese, ähm, Route, die ich noch nicht erstellt habe, haben sie die gepostet, die ich bereits vom Post selbst habe. Also, die hier bearbeitet haben, und dann werde ich noch einen haben. Ja. Ähnlich wie das, ,
die ähm,
dieLiga und, ähm, etwas, das ihr Leute,
ähm,wissen
solltet, dass ähm, die
Lagerung in diesem Tag und Alter so billig ist, dass es macht keinen Sinn, Dinge tatsächlich zu löschen. Was Sie tun, ist, dass Sie sie markieren, und ich glaube, ich habe das in der Vergangenheit gesagt. Sie markieren ihr Leben, Flagge oder ihren Status als falsch. Also, ähm, weil am Ende des Tages, wenn Sie Datensätze hinterlassen, können
Sie, ähm,
Beziehungen,
Fremdschlüssel,
Dinge davon beeinflussen ähm, Beziehungen, Fremdschlüssel, Natur. Es ist also besser, dass Sie Ihre Anwendungen erstellen. , Basierend auf Nicht,dass er das nicht gedacht hat, sondern sie als ah zu markieren, ist
das kein Leben. Also lasst uns jetzt gehen und bauen, ähm, diese Funktionalität für die Bearbeitung, ähm, die Interviews. also das, was die Hauptrolle ist. Erstens, weil ich das Gefühl habe, ähm, wir können sehen, wie es im Allgemeinen funktionieren wird. Und dann machen wir die, ähm, die Bearbeitung. Also für die Löschung, werde
ich folgendes tun, also werde ich ein Nickerchen machen, die Elite und dann eine Post Lady
und Post I D. Und ich werde Autor dafür benötigen. Du kannst das sogar treffen, wenn du nicht ein anderer bist. Also wird die Verspätung Post I D haben das müssen
wir haben. Es ist also keine optionale. Also, was wir tun werden, ist, dass wir Post gleich Post Abfragefilter haben. I d gleich Post I d. Erste oder 44 Also, wenn er es nicht findet, dann werden Sie eine 44 zurückgeben Wenn nicht, dann wird es die erste zurückgeben. Also werde ich nur Post Life gleich falsch setzen. Und dann werde ich einfach ein Commit machen, also ist das wirklich einfach. dann Unddannwerde ich den Flash-Artikel löschen und den zurück an den Zeh schicken. Der Admin. Okay, das war
also ziemlich einfach. Ähm, eine Sache, die ich tun möchte, bevor wir irgendwie waren, ähm, wir können bezeugen. Das ist, ich werde,
ähm, ich werde etwas über den Admin im HTML hinzufügen,
um irgendwie die Artikel zu zeigen, die gelöscht wurden. Also, ähm, lasst uns gehen, um mir die nächste E-Mail zu blockieren. Und so werde ich auf der Liste auf dem Titel des Beitrags sagen, Lassen Sie mich hier etwas hinzufügen, das sagt, wenn nicht das Leben posten, dann lassen Sie uns in Klammern gelöscht und okay, so lassen Sie uns versuchen, zu sehen, ob wir arbeiten. Ähm, nein. Luft ist da, also werde ich nicht zulassen, dass dieser zu hübsch ist. Lassen Sie uns Ah, lassen Sie die 1. 1 Ah, Post I d bekannt. Oh, ich habe es, weil wir nicht die Editierfunktion haben. Stillleben. Richtig? In Ordnung. Also, Also, was können wir hier tun? Nehmen wir es einfach raus, und dann werden wir es hinzufügen? Lass uns das sicher herausnehmen und nachladen. Okay, also Ah, jetzt haben wir unseren Löschknopf hier. Da steht die Führung vier. Das sollten also die Vier sein. Nun, lass mich in den Admin 11 2. Und eigentlich werde
ich die Anzahl von Artikeln erhöhen, ähm, weil ich mehr Artikel auf dieser Liste sehen will. Also okay, das ist derjenige, den wir löschen werden. Flachmann Wirklich erstaunlich. Also werde ich gehen und drücken, löschen und filtern Gonna ein erwartetes Argument. Ich d ah, Lassen Sie uns nach Abfragefilter filtern, indem Sie nicht vor Filter bleiben. Also lasst uns das noch mal versuchen. Die Spur. Perfekt. Also bekomme ich eine Flash-Nachricht sind, um den Anführer zu gehen. Und wie Sie jetzt sehen können, wird
dieser letzte Artikel uns der Führer gezeigt. Okay, was passiert, wenn ich zur Indexseite gehe? Jetzt? Ich sehe immer noch diesen geschmeichelten, wirklich erstaunlichen Artikel dort, also muss ich mich darum kümmern. Und die Art und Weise, wie wir das tun, ist auf dem Index. Stattdessen suchen
wir nach allen Artikeln. Ich werde nur sagen, besorge mir , die Artikel,
die Leben gleich wahr ist. Okay, jetzt, wenn ich die Seite neu
lade, sollte ich das nicht zuletzt sehen. Und da gehst du. Sehen Sie, wie das funktioniert. So können Sie Gänseblümchen ändern. Sie können hier sehen. Es gibt einen sich ändernden ersten Filter, um dann nach und dann paginiert. Das nennt man also einen Seeverkehr. Weil es ah ist, können
Sie Punkte und Punkte machen und verschiedene Operationen verbinden. Das ist also kritisch. Ehrfürchtig. Also, das funktioniert gut im Admin. Ich sehe die Post und auf dem Lebensort. Ich sehe es nicht. , wie Mal sehen,
wiewir den Editierungsteil machen können, was ein bisschen mehr Arbeit ist. Aber er sollte nicht so schlimm sein, denn wir werden das hinzufügen, ähm, nichts. Ich, die wir hier hatten. Wo ist sie? Ja, hier. Und speichern Sie das. Und jetzt werde ich die Ansichten haben, die ich bearbeiten werde, damit er sich nicht darüber beschwert. Also bin ich stolz darauf, und dann das gleiche und posten i d. Und dann auch erforderlich, dass sie Post bearbeiten. Ich okay, also, ähm, mal sehen. Wir müssen es tun, äh, zwei Methoden werden auferlegt, und das ist, was ich denke. Also wisst ihr was? Ähm,
irgendwie, einen Artikel zu bearbeiten. Ich könnte, ähm, im Grunde, ähm, wenn Sie einen Artikel lesen, bedeutet das, wenn Sie hier klicken und Sie Oh, na ja, wenn Sie dort klicken und Sie sehen den Artikel gerendert ,
ähm, wenn du darauf klicken könntest, sollte
es dich in eine Art Form wie dieses bringen, richtig? Aber wenn die Werte deaktiviert sind, ist es hier ausgefüllt, aber ich will es nicht wieder. Die trockene Direktorin, richtig. Sie möchten diese beiden Formulare nicht ausführen und ein neues Postformular und ein Bearbeitungsformular erstellen und diese beiden beibehalten. Und dann, wenn Sie ein neues Feld hinzufügen, müssen Sie es auf dem Formular hinzufügen. Das ist also irgendwie nicht sehr skalierbar. Und, ähm, und auch nicht nur skalierbar, aber es ist nur gegen, wie, wirklich schöne Entwicklung. Also, was wir tun werden, ist, dass wir das gleiche Formular verwenden, das wir für
den Artikel haben , diesen, das Postformular. Aber wir werden es durch die Werte aus dem Artikel ersetzen, wenn Sie ihn bearbeiten und , wenn sie leer
sehen,
wennSie eine neue erstellen, einen neuen, einen neuen Artikel über die Art und Weise, wie sie
dem System sagen würden , welcher der Tool-Anwendungsfall, den wir verwenden werden, umgeht etwas, das eine Aktion genannt wird. Also ist die Aktion an ihm, dann macht die Form ähnlich das mit der gleichen Form. Es rendert den Inhalt. Und wenn nicht, wird
es Aktion gleich neu sein. Und das bedeutet, dass es ein brandneuer Artikel ist. Also lasst uns das hier machen. Also zuerst müssen wir die Post holen. So gegensätzliche Abfrage Filter nach. Ich d gleich Post. Ich d Punkt zuerst oder für vier. Dann sieh dir das an. Wir werden das Formular der Post benutzen das gleiche Formular. Aber sieh dir das an. Wir können Objekt gleich machen. Post-Objekt ist eine Art Gebäude Sache, die halb bilden. Und was du hier
sagst,ist sagst, nur ein Zeichen. Alle Felder auf dem Formular die richtigen Dinge, die Sie aus der Datenbank von
diesem Beitrag bekommen , sie nehmen diese hier an. Das ist also ziemlich nützliches Zeug, ähm, und sehr mächtig. Und so gibt es die formale ein Formular validieren. Aber das werden wir überspringen. Siehst du also, wie das aussieht? Es ist, wenn es zurückkehrt. Render-Vorlage. Ähm, die Log-Portofrauen, aber, dass wir die gleiche versucht dort Form gleich Form verwenden, und dann Post gleich Post. Und schließlich ist die
Aktion gleich und sehen, wie wir die Veröffentlichung dort weiterleiten. , Mal
sehen,ob das funktioniert. Lassen Sie mich auf den Zeh auf arktischen Artikel hier gehen. Ich sehe Edit. Sieh dir das an. Also habe ich die den Titel, denInhalt,
die Kategorie eine Sache,
die ich bin, ich erinnere mich nicht, wenn wir den Beitrag übergeben müssen vorgeladen Inhalt,
die Kategorie eine Sache, . Wie sieht das hier aus? Seine Form Bild? Ich bin mir nicht sicher. Oh, ich weiß, warum wir das noch nicht gesehen haben. Ähm, also die eine Sache ist, dass Sie sehen,
wie das Bild hier also die eine Sache ist, dass Sie sehen,
wie das Bild hierso aussieht, wie
es ein neues Bild war. so aussieht, wie Aber was passiert, wenn ich ein Bild habe? Wenn ich es hätte, sehen Sie, dass es keine Flasche gibt. Alle Wohnungen Logo ist nicht da. Es ist irgendwie schwer zu sagen. Also, was ich eigentlich tue, er ist, dass ich die Form ändern werde, so dass die Bilder parieren. Mal sehen, wie das aussieht
77. Artikel bearbeiten: Also lassen Sie uns einige Änderungen am, ähm, auf dem Block Post machen. Ähm, ehemaliger,
ähm, und das werden wir tun. Also denken Sie daran, wir haben diese Aktion gleich Neil. Also werde ich sagen, wenn Aktion gleich neu ist, dann tun Sie den folgenden Druck New Block Post, um, Rechnungen drucken, ähm, bearbeiten Black Post. Also wissen wir sicher, dass es das ist, was wir tun, und dann und das. Und, ähm, wir müssen auch ändern, wohin das geschickt wurde. Ok. Also kopieren Sie und fügen Sie dort ein. Also, wenn der Block Pose, wenn die Aktion neu ist, dann senden Sie Toe Post. Okay, aber wenn du bearbeitest, möchte
ich, dass du es mir zurückschickst, an die Editierung und mit den Post-Ideen. Also sieh mal, das sind die ersten Post-Daten, die wir von diesem Beitrag abholen müssen. Das ist, wo wir den Posten übergeben. Also, dass zu dieser Vorlage, angeblich ich d gleich Post, denke
ich und und Okay,
und, und, äh, lasst uns das hier reinbringen. Perfekt. Und das letzte ist, naja, nicht das Finale. Also haben wir zwei Dinge. Eines ist das Bild, richtig? Also wollen wir das Bild rendern, wenn es ein Bild gibt, so dass der Benutzer sehen kann Also werde ich sagen, ob Post übergeben wird und das Post-Bild Ex-Präsident ist, warum
also poste und poste ich Bild gegen nur, wenn das Bild poste? Nun, die Sache, die das Problem ist, dass, wenn Post es nicht weitergegeben wird, ähm, Posterbild mir ah geben wird, es wird gehen, als ob das nicht ein Fehler ist. Ich kann damit nicht umgehen. Aber Python hat diese sehr interessante Sache mit ifs, das ist, dass,
wennder erste ,
wenn Ausdruck falsch ist, er den Rest nicht einmal bewertet. Und du kannst da rauskommen. Also, das ist etwas sehr Nützliches für euch zu haben. Und denken Sie daran, Ähm,
Also, wenn Sie etwas haben wollen, das Sie sehen wollen, wie ,
oh, hat dieses Objekt eine Eigenschaft darin? Aber Sie sind nicht sicher, ob die, ob die Objekte in erster Linie verfügbar sein, können
Sie diesen kleinen Trick tun, wenn Post es nicht schnell ist und es geht aus und er wirft keinen Fehler und dann überprüft er. Wenn sie angeblich sind und er das Bild entgegengesetzt hat, dann lassen Sie uns das Bild rendern. Das ist also das. Und so werden wir das Bild hier rendern, damit der Benutzer sehen kann, welches Bild es ursprünglich hat. Und wenn er es so ändern will, dass Bildquellen Aufhebens posten Sie eine Merge-Quelle. Ich hoffe, ich habe das richtig geschrieben. Ich hatte es mit der Luft da drin. Ich dachte, es wäre AutoKorrektur. Aus irgendeinem Grund entspricht
Klasse Bild um sie herum. Aber was? Sie haben das Bild für unter noch nicht gesehen? Weil wir dort einen weißen Hintergrund hatten. Aber es ist, wenn wir ein anderes schöneres Bild finden können. Ok? Fast fertig. Das Letzte, was ist diese Vorlage. Ich will, dass das ein wenig wählerisch ist, aber ich will
sagen, wenn die Aktion neu ist, dann, um, zeigen
Sie den Knopf Toby Post. Und ansonsten wollte
ich es sehen, und manche Leute sagen, dass das nicht notwendig ist. Kleinigkeiten gehen weit. Okay, das war's. Das war's für das Formular. Mal sehen, wie es aussieht. Also, wenn ich hier nachlade Ah, und die Freunde Gottes sind gleich, das ist einer von denen, wo man einfach auf die ganze
Sache schauen muss . Ähm, wie lautet die Vorlage? Methode? Post-Aktion ist gleich. Mal sehen,
Euro 40, die ich sehe. Da gehst du. Ich war, dass ich das nicht richtig geschlossen habe, also das okay, Perfect. Also, jetzt habe ich das Bild, um, damit ich sehen kann, wie es aussieht. Es ist ein wenig nah an der Sache, aber was auch immer wir den Titel haben, der Inhalt der Kategorie halten, der funktioniert. Gut. Sehen wir uns die Quelle der Ansicht an. Oh, also halt dran. So hinzugefügt Schloss Poster. Sie sehen, wie es jetzt der Titel sagt, dass über Schalen, und es sagt Update statt Post. Und schauen wir uns die Quelle an, um von den Ideen zu sehen, die sie sind Yep. Also entgegengesetzte Augen, wo es mit dem geposteten geschickt werden wird, sind die gleich zwei A. Perfect, ähm, hat die Gleichen auf acht gepostet. Das ist interessant. Ich hatte erwartet, dass das,
ähm, nur, nur, äh dran ist und dann die Post i d aber da ich nicht bin, bin ich eigentlich nicht so, als würde ich etwas damit machen. Ich gehe davon aus, dass das Europa dafür ist, dass er es richtig macht. Was? Wir werden sehen, was passiert. Okay, also machen wir jetzt die eigentliche, ähm, Arbeit
aus, um, den Beitrag zu bekommen und, ähm beim Bearbeiten. Okay, also starten wir den Prozess. Also, ähm, ich werde sagen, wenn das Formular nicht bei Übermittlungsdurchgängen validiert wird, wollen
sie sagen, dass das Originalbild das Postbild ist. Es ist das, was ich auf der Post habe. Ähm, von Anfang an, und dann werde ich sagen,
ähm, also muss ich dieses Formular machen, Objekt von Post
füllen. Also, was ist das? Ähm, was macht das? Also im Grunde lädt
es den Beitrag Dieses Post-Objekt, das wir anfangs dort hatten, ersetzt es es mit dem Inhalt aus dem Formular. Und jetzt Post wurde geändert, was Sie auf dem Formular eingeben I D i e Wenn Sie nur den Titel
ändern,
zum Beispiel, zum Beispiel, der neue Post-Doc-Titel wird sein, was jeder auf dem Formular setzen. Aber der Rest der Informationen wird wieder gleich bleiben. Eine Zeile aus. Mächtiges Zeug. Normalerweise müssen Sie viele Schecks machen. Es ist, dass du keine Ahnung hast. Es ist sehr durcheinander, aber das ist super elegant. Ähm, also werden wir versuchen zu sehen, ob das Formularbild abgelegt wurde. Das bedeutet, dass der Benutzer ein neues Bild gesendet hat. Dann werde ich diese Akten anfordern. , oh Verstehen Sie
nicht, oh, Bild, was auf dem Multi-Teil gesagt wird. Richtig? Und dann werde ich versuchen, es zu retten. Also Dateiname Du hättest das schon mal sehen sollen, oder? Hochgeladene Bilder, ah Punkt Bild speichern. Und dann,
wenn es eine Ausnahme gibt und das
Bild nicht hochgeladen werden kann,
okay? das
Bild nicht hochgeladen werden kann, Und schließlich, wenn ich den vollständigen Namen habe, dann posten Sie das Bild gleich zwei Gründungen. Perfekt. Also muss ich auch überprüfen, aber warten. Um, also Aber wenn der Benutzer das Bild nicht geändert hat, dann ist das Post-Bild gleich dem Originalbild. Und, ähm, wir müssen das tun, weil das ah, das Postbild ist,
ähm, es wird wahrscheinlich gelöscht werden, da du kein Formularbild da reingelegt hast. Und es ist irgendwie so, was ist das Was ist das erwartete Ding? Wenn Sie hier kein Dateibild ausgewählt haben und Sie aktualisieren, dachte
ich nach OK, also bedeutet es, dass Sie es löschen wollten, richtig? Aber ich fühle mich nicht wohl, dass ich denke, dass es das gleiche Bild behalten sollte. Es liegt an dir, wenn du willst. Ich mag, lösche es
einfach. Wenn der Benutzer etwas hier nicht gesendet hat, oder Sie könnten auch, wie, auf einen tatsächlichen Link dort drin
haben oder wie Brady über in der sagt das Bild umschalten. Ich weiß nicht, Ähm, es gibt viele Möglichkeiten, das zu tun, aber ich habe mich dafür entschieden, du keine Datei ausgewählt hast, die nicht bedeutet, dass ich das Bild löschen wollte. Ich nur Es bedeutet, dass nur mit dem gleichen Bild bleiben. Das ist also, was diese Linie ist. Okay, ähm, also werde ich jetzt überprüfen, ob neue Kategorien dort sind, denn das bedeutet, dass der Benutzer die Kategorie ändern will und er sie
mit etwas Neuem ändern möchte, wie er tatsächlich die neue. Also nach dem einigen Management dort, so Kategorie neue Kategoriedaten gebildet wird, und ich werde auf, dass Sitzung, und ich werde bündig, so dass ich das Kategorieobjekt bekomme. Und, ähm, ich werde die Kategorie in der Kategorie „Post“ auf die neue Kategorie setzen. Ok? Und jetzt werde ich diese ganze Sache endlich in die Datenbank schicken. Ok? Und kehren Sie zurück. Umleiten Euro für Artikel Slog gleich Post Slug. Perfekt. So viele Sachen. Immer noch nicht so kompliziert wie es war, bevor zwei etwas beendeten ,
aber ja, es gibt einige Kontrollen, die Sie tun müssen,
vor allem, wenn wir Bilder haben, wird
es ein wenig kniffliger. Aber, ähm, mal sehen, diese ganze Sache funktioniert. Und bevor wir vergessen, ähm, müssen
wir passieren. Aktion ist neu in diesem Ding, weil, ähm, wir erwarten das jetzt. Das ist also auf dem, was auf dem Beitrag auf der ursprünglichen,
wie,
Post-Funktion ist wie, . Richtig? Also lasst uns ein bisschen damit spielen. Mal sehen, ob das funktioniert. Ähm, warum fangen wir nicht
damit an, etwas Neues zu posten? Sehen Sie, dass das funktioniert. Also sollten wir einen Beitrag haben, der dort verlinkt. Also, ähm, ich werde keine Bilder gestohlen. Ich will nur sagen, das ist, ähm, der Artikel, um es zu beenden. Dieser Artikel soll mit edit getestet werden. Funktionell Es ist Arbeit. Catherine de Python posierte. Ok. Perfekt. Es sieht also gut aus. Dies ist ein königliches, um es zu lesen, um zum Admin zu gehen. , Es steht,dass das Bild nicht hochgeladen wurde, schätze
ich, weil es kein Bild gab. Das ist ein Käfer. Okay, aber lassen Sie uns versuchen, dies in diesem Artikel zu bearbeiten. Also gehe ich zu bearbeiten, ich bekomme die da, geh dran, also werde ich es hinzufügen. Was soll ich es hier mit jedem funktional hinzufügen, hat das perfekt funktioniert. Also, diese Zeile füge ich dem Inhalt hinzu. Und ich ändere weder die Kategorie noch den Titel. Ich möchte aktualisieren. Okay, wir haben einen Einsatz gemacht. Das ist interessant. Ähm, okay, warum macht es einen Einsatz? Center ist anstelle eines Updates, ich muss etwas falsch gebunden haben. Lasst uns nachsehen. Ok. Ich habe gesehen, was ich sehe? Was dies waas Es war, weil auf dem Formular für die Post, es ist nicht sagen, in die Post, es sollte in die Luft geschickt werden. Es Also, das schickte im Grunde das ganze Formular an die, äh an die whatchamacallit, die Post-Funktion. Das sollte also beheben. Also bist du oh, für die Bearbeitung Wenn es,
ah, ah, wenn es Aktion gleich ist, hinzugefügt auf dem neuen, wenn es okay ist, also lasst uns das noch einmal versuchen, Eigentlich. Müssen Sie das neu laden. Also mal sehen. Bearbeiten. Dies sollte aktualisiert werden. Und lassen Sie uns die Quelle überprüfen, nur für den Fall. Sehen Sie, wohin es geschickt wird. Bearbeiten Sie neun. Perfekt. Okay, also aktualisieren Sie perfekt. Das hat also geklappt. Das funktioniert also perfekt. Also lasst uns das sehr harte machen, das diesen mit einem Logo-Test editiert. Und,
äh, lasst uns nur noch eine Akte. Also habe ich diese, ähm, das Gewürz auf dem Logo hier. Es ist also der Lector dort. , Lasst uns versuchen,
fünf Telefonprotokolle abzubilden. Ich ändere das Bild und den Titel. Ah, also wird es sein, dass es eine gewisse Veränderung sein wird. Also lasst uns das aktualisieren. Ja, das ist fantastisch. Das hatte ich nicht erwartet. Ich habe versucht, Toby zu machen. Ah, selbstversichert, aber nein, es sieht gut aus. Also, jetzt haben wir die, ähm, die ah, die Python Local hier, und, ähm und es hat die Titel geändert. Nun, das funktioniert
also perfekt. Und das erstaunlich. Wir haben viel getan. um Und im nächsten Abschnitt geht esumTests, was super wichtig ist, also sehen wir uns dort.
78. Einführung in die Einheitstests: Okay, also sind wir hier im letzten Abschnitt des Kurses, und es geht um einen sehr wichtigen Teil. Aus. Ah, Ihre Karriere als Web-Entwickler ist es, gute Tests zu erstellen, und Testen ist eine Art wie die Fähigkeit, die Sie fast in der Regel die letzte lernen. Aber es ist eigentlich, ähm, nachdem Sie gelernt haben, wie man testen kann, Sie wahrscheinlich tun, was man als testgesteuerte Entwicklung bezeichnet. Ähm, also wirst du tatsächlich Tests schreiben, die gefragt werden. Sie schreiben Ihren Code, weil das ist, wie wichtig Ihre Programme Ihre Anwendungen testen zu lassen, dass wir sie erstellen. Es gibt also einige grundlegende Konzepte, die ,
ähm ,
die für Tests geeignet sind, die ich mit dir teilen werde. Aber im Grunde gibt es ein Sprichwort,
Ah, dass ich denke, es ist sehr wahr,
was etwas, das ungetestet ist, ist kaputt. Also, wenn Sie Code schreiben und Sie sind, schreiben Sie keinen Test dafür, Sie suchen im Grunde Oh, stellen Sie sich für wie, Misserfolg. Ähm, und es liegt daran, dass Tests so wichtig sind. Ähm, einige der besten Konzepte beim Testen, ähm, ich würde sagen, die Nummer eins ist, Dinge zu testen, die außerhalb Ihrer Anwendung sind. Zum Beispiel, testen Sie
nicht, dass die Eva-Sitzung festgelegt ist, weil das etwas, das du nicht schreibst. Das Sitzungseinstellungsstück des Codes, der in Kolben und Flachskolben gebaut ist, hat seine eigenen Tests, um dies zu testen. Sie sollten sich also immer darauf konzentrieren, Dinge zu testen,
diesich ,
die im Grunde auf den Code Ihres Schreibens beziehen. Die zweite Sache ist,
versuchen Sie, Tests zu schreiben, die alle möglichen Verwendungen abdecken, einschließlich Randfälle. Du musst also sehr kreativ sein und irgendwie seltsame Dinge
einfallenlassen,die der Benutzer tun könnte. einfallen lassen, Wie reagiert Ihre Bewerbung darauf? Also, zum Beispiel, ähm, auf dem Registrierungsformular eine Zeichenfolge gesendet, die,wissen
Sie,
1500 Zeichen für die E-Mail hat wissen
Sie, . Ist das, ähm, tut das, wie die Anwendung brechen oder nicht? Diese Art von Ding? Ähm, die dritte Sache ist, nach den 12 und Szenarien zu suchen. Also, zum Beispiel, wenn Sie ein p I haben, das mehrere Einträge erhält und Sie testen, wissen
Sie, ein Element in dieser Kohle
übergeben, dann testen Sie mit vier und dann, ähm Sie wissen, dass die Element ist das dritte Element auf dieser Liste vollständig abgeschlossen Müll. Versuchen Sie also immer mit, ah, wissen
Sie, irgendwie wie die Szenarien zu setzen, in denen es mehrere Anwendungsfälle dafür für diesen Teil der Anwendung gibt. Ähm, also ist das so ziemlich. Ähm, du bekommst den Dreck und du bekommst einen besseren Test. Ah, der Mörser. Du machst es. Versuchen wir also, ein paar Tests für unseren Fleiss-Block zusammenzustellen. Also, ähm, das erste, was wir auf zwei Arten, wie wir einen,
ähm,
eine Aktenkalte Tests erstellen ähm, werden. Und das ist normalerweise, ähm, wo du alle Tests schreiben wirst. Ähm, innerhalb Ähm, dieser Akte. Also lassen Sie uns diese Datei in der auf der Flash-Blockebene erstellen, und wir werden diese Tests nennen, warum? Und für das Testen verwenden
wir normalerweise einen Python-lyrischen Komponententest. Also werden wir diesen Swell verwenden,
obwohl, obwohl, wie einige andere Frameworks wie,
ah, ah, Django seine eigenen Tests Sweet hat. Aber eigentlich glaube ich, dass es eine Erweiterung von Komponententests ist. Aber für Wohnungen, weil er keine eingebaute Test-süß hat, werden
wir Pythons verwenden, was eine wirklich,
wirklich gute Bibliothek ist . Also fangen wir an,
Einstellung, die aufgefallen ist. Das erste ist, wir müssen den Weg so einstellen, wie wir es mit dem E nippy gemacht haben ,
und,
ähm, ähm, also lassen Sie mich sehen, ob ich tatsächlich kann, ähm, es ist in der obligatorischen. Warum, richtig? Also werde ich das einfach kopieren und einfügen, weil wir die gleiche Art brauchen, wie den
Pfad für die,
ähm,
fürdiese Datei zu setzen Pfad für die,
ähm,
für ähm, , damit sie weiß, dass es dort ist, wo es ist und was das relative Verzeichnis ist. Also werden wir Komponententest importieren. Wir müssen dafür keine Pakete installieren. Wir importieren auch Sequel Alchemie, und, ähm und wir werden die Kolben Fortsetzung Alchemy importieren. Ähm, Bibliothek. Okay, äh, dann aus der Flasche Blawg, werden
wir den AP und die DB so weit importieren, so gut. Wir müssen alle Modelle importieren. Also lassen Sie uns das von Autorenmodellen machen,
Importieren von Sternen und von Blawg-Modellen,
Importstern Stern. Also lassen Sie uns das von Autorenmodellen machen, Importieren von Sternen und von Blawg-Modellen, Also werden wir,
ähm, gehen und anfangen, uns was anzuschauen? Das Format aus testet seine und und verwendet in der Regel eine Klasse in dieser Klasse. Ähm, es hängt davon ab, was Sie testen, aber in diesem Fall werden
wir das tun? Ähm, meistens, ähm, Blocktests. Ah, für die Benutzerseite, auch wenn wir ein paar Blawg,
äh, äh, testen werden. Das ist gut, aber sie gruppieren nur alle in einer Klasse, und Sie können auch mehrere Klassen machen. Aber lassen Sie uns das mit Ihnen machen, Sir. Testen. Also werden wir den Benutzertest aufrufen, und das muss eine Instanz außerhalb des Testfalls sein, der sich innerhalb
, ähm, ähm, Komponententest befindet. Ähm, das erste, was wir tun werden, ist, dass wir eine Aufstellung und einen Abreißen haben, aufbauen und abreißen, unsere sind im Grunde ,
ähm ,
irgendwie,
Abschnitte von irgendwie, der Klasse aus , die immer am Anfang und am Ende aufgerufen werden, jeden Test,
um, um, und im Grunde eingerichtet wird, wird Rob beinhalten. So wie eine temporäre Vase zu schaffen. Also verwenden wir nicht wirklich die Produktion, die ich für die Basis, die dem Haupt entzieht, dass ich basierte. Wir schaffen irgendwie ein neues Ultra, es eins,
damit wir das schaffen und zerstören können, was ich als Test zugrunde lege. So wie es passiert, also
lasst uns sehen, wie wir das machen, werden wir das Auge dafür aufstellen. Und, ähm, also werde ich mehr oder weniger dasselbe tun, was ich mit dem Setting gemacht habe. Drei. Warum, Ähm ,
was
wichtig ist ,
was
wichtig ist. Der Benutzername, das Kennwort, der TV-Host und diese Zeichenfolge. Also lasst uns,
ähm, es ist durch das. Also nennen wir das „Also werden wir haben, um dieses Baby zu nennen. Nimm ihren Namen gleich, und wir können die Konfiguration lesen. Dieser Wert aus dem B-Benutzernamen innerhalb der App dot com fig ah,
array. Wert aus dem B-Benutzernamen innerhalb der App dot com fig ah, Also jetzt sind wir, die BB haben. Ah, Passwort. Und wir werden den Gastgeber haben. Also sind alle diese drei Werte, wie Sie sehen können, hier. Ah, hinterhältiger Name, um Passwort und TV-Moderator zu sein. Wir brauchen den Namen der Blawg-Datenbank nicht, weil wir unsere eigene Art von Test-, äh, äh, Datenbank oder Blogging-Datenbank erstellen. Also, jetzt werden wir die Feuerbälle hier drinnen übergeben. Sie würden ihren Namen das B-Passwort
und TV-Moderatorin benutzen . Nein. Okay. Und wir werden das rausnehmen, und
wir werden die Datenbankbenennung hier nicht weitergeben. Okay, jetzt lassen Sie uns die,
ähm, nun,
wir müssen kommen,um nun,
wir müssen kommen, ein paar Einstellungen im Zusammenhang mit Tests zu fürchten, und einer von denen heißt ah Testing. Und das müssen wir als wahr bekennen. Und das sagt Kolben automatisch flask und lesen Sie diese Testflagge und und und wissen, dass
es unter einem,
ähm,
einem Testmodus läuft ähm, . Und diese Art von wie schaltet einige der Überprüfung aus und Sie können mehr
darüber lesen . Ähm, online, aber es ist im Grunde so, als würde es der Anwendung sagen, dass Winston sie aß, dass es eine Test-süße und Ordnung ist. Eine echte Anwendung, die wir tun müssen, ist CSR f für WTF auszuschalten, weil wir simulieren werden, wie es der Leute ist, aber wir wollen das nicht überprüfen. Die, dass die CSR f sprechen ist ein Nagel, denn das ist nur möglich,
wenn , wenn Sie tatsächlich tun dies über einen Browser. Also wollen wir sagen, dass fällt. Also sagen wir jetzt, Ah, wir werden den Datenbanknamen nennen,
um, um, Test Blawg anstelle von Blawg und ah, endlich werden
wir die Konfiguration zwei übergeben. Die Fortsetzung Alchemy, dass ich Ihr Ich Basis und das ist die DVU Recht, dass wir oben plus up config Log, dass offensichtlich. Okay, so weit, so gut. Jetzt müssen wir eine Engine erstellen, die im Grunde eine Art wie eine Fortsetzung ist. Alchemie-Instanz. Jetzt können wir mit Bist du, du bist ich. Und dann verbinden wir uns mit dieser Engine und wir führen ein Commit aus, so dass, wenn es irgendetwas auf
der Sitzung gibt , das wie Aisling ist, es gelöscht wird, und dann werden wir werde eine erstellen, dass eine Vase mit dem Namen der Blutdatenbank. Schließlich machen
wir eine erstellen auch, dass es alle Tabellen erstellt werden und wir die Verbindung geschlossen. Das ist also irgendwie so,
als würde man die Datenbank
programmatisch für uns erstellen . Und schließlich ist
er hier, wo wir Stattdessen hat
sie die App gemacht, und es wird uns Test-Client genannt werden, also weiß ich, dass es eine Menge Dinge ist, die irgendwie seltsam ist, aber du wirst es kriegen. Dies ist Müssen Sie dies immer tun,
damit Sie alles
kopieren und einfügen können und es jedes Mal ohne Probleme verwenden können? Ähm, und das wird immer wie ein ähnliches Muster für das Testen sein. Okay, jetzt machen wir die,
ähm, ähm, die Abreißung, die im Grunde das Gegenteil ist. Es bringt die Datenbank herunter und schließt die Verbindung,
und das wird tatsächlich für den Lead an diesem Luftwaffenstützpunkt vollständig entfernt. Am Ende ist
es so, als wäre nichts passiert. Also werden wir mit Devi Session beginnen,
entfernen, entfernen, und dann werden wir eine Engine erstellen, die wir getan haben. Äh, früher. Und es sind im Grunde die gleichen Kommentare wie diese, und so werden wir eine Verbindung machen gleich Motor Connect, und wir werden einen Kommentar ausführen. Und, äh, wir werden die Datenbank fallen lassen
, und schließlich schließen wir die Verbindung. Perfekt. So weit, so gut. Also lasst uns jetzt anfangen,
den eigentlichen Test zu erstellen, und der erste Test, den wir machen werden, ist das Erstellen eines Blawg
und überprüfen, ob es ah ist,
es ist richtig erstellt Also lasst uns jetzt anfangen,
den eigentlichen Test zu erstellen , und der erste Test, den wir machen werden, ist das Erstellen eines Blawg und überprüfen, ob es ah ist, es ist richtig erstellt
79. Blog-Test erstellen: Okay, also werde ich, ähm, eine Funktion für das Erstellen von Blawg erstellen, und im Grunde werde
ich es als Funktion zunächst oder von Anfang an tun, weil ich in jedem Test Ich muss den Block erstellen. Nun, in jedem Test, den du durchführst wird
es irgendwie durch das Set gehen,
zerreißen , und im Grunde wirst
du irgendwie, wie, an einer Basis
erstellt und zerstören die Datenbank jedes Mal. Warum? Weil jeder Test im Grunde so ist, wie Sie einen anderen oder einen anderen Teil
der Anwendung testen . Also wollen Sie Zehe von einem sauberen Schiefer beginnen, um, und erstellen Sie den Block. Es ist im Grunde so, als müsst ihr das jedes Mal tun. Also werde ich getrennt seine eigene Art von wie interne Funktion beurteilen, die ich von
diesen verschiedenen Tests aufrufen kann . Also lasst uns das machen. Und etwas, das Sie hier sehr interessiert sehen werden, ist, als würden wir simulieren, als ob wir irgendwie in einem Teil der Anwendung posten würden. Und die Art und Weise, wie Sie das tun, ist durch den internen Testmechanismus oder das System, das Sie
simulieren,
abrufenund posten können simulieren,
abrufen , also nehmen Sie es heraus, wie wir dies schreiben. Also werden wir im Grunde große Block wird zurückkehren. Ah, ein App-Post zum Setup und sehen Sie hier, wie wir es eingerichtet haben, da es irgendwie wie ein
lum ist, so dass es tatsächlich geht,
wie,
treffen Sie lum ist, so dass es tatsächlich geht,
wie, wie, diesen Schrägstrich einrichten, um die Erstellung des off the block zu simulieren. Nun, eine Sache, die Sie fragen könnten. Und ich fürchte das nur, als ich das tippe, warum nicht dein l vier benutzen? Und eigentlich ist
das eine sehr ist
das eine sehr
interessante Sache. hatte ich nicht gedacht. Also, ähm, machen
wir es einfach mit der Einrichtung. Lassen Sie uns das durch das Mädchen für die Einrichtung ersetzen und sehen, dass das funktioniert. Aber auf jeden Fall hier, dann übergeben Sie uns ein Wörterbuch. Die Dinge, die Sie posten müssen, um die Datenbank zu erstellen, und diese Dinge sind Name , ähm, mein Test blawg. Und dann hast du einen vollständigen Namen, und ich werde
Jorge Escobar und E-Mail benutzen . Benutze ihren Namen, ihr
Passwort und ihre Bestätigung,
das ist das Bestätigungspasswort,
wo wir das Passwort zweimal eingeben müssen. Benutze ihren Namen, ihr Passwort und ihre Bestätigung, das ist das Bestätigungspasswort, Und dann werde ich diese Fahne kalt passieren. Um, fallen Sie rüber. Weiterleitungen ist gleich true. Wenn du das nicht überstehst,
dann wird es das treffen,
äh,
im Grunde,dass,
ähm,
dieserEinstiegspunkt oder dass deine l-Tour,
aber es wird nicht folgen, was auch immer Wenn du das nicht überstehst,
dann wird es das treffen,
äh,
im Grunde,dass,
ähm,
dieser dann wird es das treffen,
äh, im Grunde, dass,
ähm, ähm, Einstiegspunkt oder dass deine l-Tour, wenn es eine Rücksendeumleitung oder etwas gibt. Also wollen wir diesen Dingern tatsächlich folgen. Also, ähm, also wollen wir tatsächlich eine Zehe Art folgen, weil wir wahrscheinlich werden wir, wie, fangen oder testen, was wir davon bekommen haben, Ähm, von diesem Posten. Also, das ist das,
Ähm, also jetzt werden wir unser erstes schaffen. Das ist Test. Mal sehen, wie wir das machen. Okay, also wird der erste Test Test auf der Partitur genannt. Erstellen Sie Block etwas sehr Wichtiges hier. Tests beginnen immer mit Test, unterstreichen etwas, und das ist die Art, wie Sie den Komponententest erzählen. Ähm, ah. System, dass dies dies ist, ist eigentlich ein Test, den Sie laufen werden, und Sie werden sehen , dass alles, was der Test, die richtig waren, um mit Tests auf der Partitur beginnen. Wie Sie bemerken. Erstellen von Blut beginnt nicht mit dem Test. Das wird also nicht automatisch Rhone von der Test-Suite sein. Ähm, und deshalb
erstellen wir diese und deshalb
erstellen wir dieseHilfsfunktion ohne den Test auf der Punktzahl des Anfangs. Also, was wir tun werden, ist, dass wir den Rückgabewert RV von dieser Funktion selbst Blut erzeugen, und ,
ähm, also die Basis oder sie wissen, wie der Kern von jedem Test behauptet, dass Sie haben einen bestimmten Wert oder eine bestimmte Zeichenfolge oder eine pazifische Daten innerhalb dieser Operation, die Sie ausführen. Also in diesem Fall werde
ich behaupten, dass Blawg erstellt wurde in der A-Zeichenfolge von diesen RV-Daten zurückgegeben wurde. Also wird Ivory Data die Daten von diesem zusätzlichen p ähnlichen Ergebnis speichern. Und weil wir wirklich Rex folgen, ist wahr. Das bedeutet, dass die Daten, dass dieser all dieser Beitrag, den wir tun, blockiert,
erstellt hat , und woher weiß ich, dass Blut in diesem,
ähm,
in dieser Rückkehr entstehen wird ähm, ? Nun, wenn wir sehen, die Ansichten B y der Blawg auf der Einrichtung. Also sind wir reingelegt. das hier erstellt wurde, aber nach der Weiterleitungleitet
es den Admin direkt im Admin um Sehen
Sie,
das Flashbuch, das hier erstellt wurde, aber nach der Weiterleitung . Es gibt einen Blitz. Also lasst uns das nochmals überprüfen. Ähm, Ah. Sehen Sie, wir haben die Blitzgäste hier Nachrichten bekommen, dass Blut beim Admin sein wird, um, nachdem das Blut erschaffen wurde. Das wird funktionieren, wenn der, wenn der Test richtig läuft. Ok. , Endlich, bevor wir das ausführen, müssen
wir
sozusagen bevor wir das ausführen,müssen
wir
sozusagendas Warum oder
die Einheit verwalten. das Warum oder
die Einheit verwalten bevor wir das ausführen,müssen
wir
sozusagendas Warum oder
die Einheit verwalten. Warum sollten wir das in der Vergangenheit hatten? Wir müssen überprüfen, ob Name gleich main ist, was irgendwie wie OK ist, wenn dies von der im Terminal ausgeführt wird, dann führen Sie Komponententests dot main aus, und das ist im Grunde Einheit. Dieser Haupt wird,
ähm,
den ersten Test nennen ähm, , den es findet
, der Block erstellen wird. Aber bevor es läuft, das ist, als ich, wie, erstellt habe, dass ich die ganze Datenbank, diese Setup-Sache, dann wird es testen, die Erstellung des Blawg wird behaupten, dass die RV-Daten, die Rückkehr auf Blut erstellt wird, steht vor, und dann wird es durch reißen gehen, die tatsächlich das lebende die Datenbank ist. Also mal sehen, wie das funktioniert, wenn wir laufen. Okay, also werden wir jetzt den Geschmack,
den Test durchführen, und wir werden es durch das Terminal machen, also stellen Sie sicher, dass Ihre Fahrzeugumgebung eingerichtet und eingeschaltet ist. Und in diesem Jahr in der Wurzel, ähm, aus der Anwendung. Also lasst uns den Bildschirm löschen und ah, es ist okay. Und wir werden das testen. Python testet also P Y, Sie können Sequel-Alchemie nicht importieren. Keine Fortsetzung. Sehr gute Fortsetzung. Alchemie. Das war schwer zu fangen. Okay, also versuchen wir es nochmal. Klar und dann telefonisch. Das ist b y kann nicht verbunden werden. Name oder Dienstleistung? Nicht bekannt. Okay, es sieht so aus, als ob unsere Datenbank nicht läuft. Ah, Kontrolle. C c Nein, es sieht aus, was es irgendwie isst. Ich denke, Ernst. Ernsthaft. Hier. Testen Sie Blawg. Ich schätze, wir vermissen ein äh ja, wir vermissen einen, äh, einen Schrägstrich. Okay, also lasst uns sehen, hier selbst zu sein Oh, ich
vermisse einen Hintern, der ihre könnte Cool knackt. Also lasst uns klarstellen und den Test nochmal machen, dass ich sexistisch bin. Oh, okay. Also, jetzt, da das immer existiert. Also müssen wir es fallen lassen, bevor wir es wieder tun können, weil es irgendwie so aussieht, als ob es geschaffen wurde. Also, wenn wir Datenbasis zeigen,
Ja, Ja, ich sehe Tests, die dort blockieren. Lassen Sie uns also den Datenbanktest auf die Punktzahl fallen. Gebloggt. Ok. Und versuchen wir es noch einmal. Fail-Blut hat es gereinigt. Okay, das ist
also eine Behauptung, Eri, was gut ist. Es bedeutet, dass jetzt der gesamte Prozess läuft. Wenn Sie das sehen, dass eine Basis hier, Sie werden sehen, dass Testblock nicht da drin ist. Das bedeutet, dass es geschaffen wurde, und dann wurde er verbannt oder fallen gelassen, wie wir es auf dem Drehbuch haben. Aber es sagt, dass der Block erstellt hat, dass er nicht auf dem Rücklaufstrom ist, und wir müssen das herausfinden. Ein Trick, den ich mache, ist, dass ich die RV-Daten ausdrucke, um zu sehen, wie das aussieht. Und, ähm, und dann können wir irgendwie , überprüfen,was die Ausgabe dieser Funktion ist. Also lassen Sie es uns noch einmal ausführen und dieses Mischerelement maximieren, ähm, mit Python zu Ok, es sind 434 Milliarden. Äh, huh. Also das bedeutet, dass wir irgendwie überprüfen, dass der Benutzer Nein hat, ähm,
es ist nein , es ist nicht die Einstellung des Ost-Autors, ähm, Einstellung. Also lass uns hier sehen. Also, wenn ich gehe, um zugeben, es sagt Autor erforderlich, aber wenn ich einrichten,
siehe hier, siehe hier, Schlag erstellt s, so dass ich denke, ich bin nicht einloggen, So sendet es mich an den Admin. Was? Ich habe noch nicht reingeschaut. Das ist also die Art von Dingen, die du entdecken wirst, wenn du deine Tests durchführst. Also mal sehen,
wie können wir das tun? Also mal sehen, Also, wie ich dachte, mehr darüber, wenn ich es tun werde, macht es tatsächlich Sinn, ist nach den Bloggern erstellt, um den Benutzer auf die Indexseite zu senden und dann den
Benutzer oder die Blut erzeugte Zeichenfolge dort anzuzeigen . Also, aber damit ich das tun kann, um, ich werde es brauchen, um blinkende Nachrichten hier und die andere der einzige
Ort, wo die halbe Flash-Nachrichten gerade im Admin sind. HTML. Also, was ich tun werde, ist, dass ich das in
ein Makro
umwandeln werde , , und dann kann ich es überall anfangen, wo ich brauche. Also werde ich das fangen und eine neue,
äh,
neue Einreichungsvorlage erstellen äh, , und ich werde es auf der Punktzahl Flash-Nachrichten dot html und innerhalb von Flash-Nachrichten nennen. Ich werde das Snippet vom Code haben. Also, ähm, ich werde das retten. Und dann werde ich hier rein. Ich werde, ähm, im Grunde,
die Flash-Nachrichten einfügen , . Also Prozent, ähm, enthalten Flash-Nachrichten, Tür HTML. Und dann, wenn sie das Gleiche auf der Indexseite machen , ist
das gespielt. Hier. Hoppla. Da gehst du. Also nun mal sehen, ob das auch das Letzte ist, dann, wenn ich den Blogger erstelle, werde
ich sie nicht an Admin schicken. Ich werde es an die Indexseite senden, und dann haben sie einen Logging-Link auf dieser Seite, so dass das funktionieren sollte. Versuchen wir es noch einmal und führen Sie den Test aus. Ok. Ehrfürchtig. Also sehen Sie, und jetzt haben die Dies ist der Alter Dampfer Lassen Sie mich bekommen und ich schaue es an und es steht, Ah, Klassenbotschaften. Blut wurde geschaffen. Dies ist eine Zeichenfolge, die wir zurückkehrten. Also was? Statt, ähm, will
ich nicht all diese alte Art von
HTML-Daten sehen will
ich nicht all diese alte Art von
HTML-Daten sehen. Ich werde das einfach , unterdrücken,damit du siehst, wie es aussieht und es den Bildschirm löscht und den Test erneut . Perfekt. Wenn Sie also einen kleinen Punkt sehen, bedeutet das, dass dieser Test ausgeführt wurde, und es steht „Führen Sie einen Test aus. Okay, sind
also der erste Test und es bestanden, also lasst uns weiter darüber aufbauen.
80. Benutzertests: Okay, jetzt schreiben wir unseren nächsten Test. Ich werde diesen Toby nur das verlassen, diese einzige Sache
, und ich werde anfangen zu testen, einzuloggen und mich abzumelden. Das ist also unser nächster Test, und ich werde zuerst Folgendes tun. Ich möchte Blawg erstellen, weil ich den Block jedes Mal erstellen muss. Und jetzt werde ich ein Logging richtig machen. Also werde ich mich selbst einloggen, auch was ich brauche, um diese Dysfunktion zu schaffen. Also werde ich eine weitere Funktionshilffunktion erstellen, weil ich mich ziemlich oft einloggen und mich auch abmelden muss. Also werde ich diese
Hilfsfunktionen erstellen . Also lassen Sie es Auspeitschen haben wird Wir werden einen Benutzernamen und ein Passwort übergeben, und ich werde den Beitrag aus Schrägstrich wieder zurückgeben, was ein Datenwörterbuch aus ist. Um, verwenden Sie ihren Namen gleich Benutzername und Passwort gleich Passwort und dann, ah, wie mit ihm bevor folgen Weiterleitungen gleich wahr ist. Ok. Und dann das Gleiche. Ich werde eine lokale Funktion haben, weil ich das wahrscheinlich eine Menge nennen werde. Und dieser hier wird nur
Parameter
haben, haben, und ich werde einfach zurückkehren. Selbst. Ähm, ich habe hier eine App verpasst. Selbst App-Post, tatsächlich kann ich tun, nur um zu bekommen, weil ich keine Parameter senden muss. Und für die Weiterleitungen gleich wahr. Perfekt. Also, jetzt, um, versuchen
wir, sich selbst mit, äh, Jorge und Test, das ist der Yusor, den wir hier auf der erstellen erstellt haben, blogged. Und wir werden behaupten, dass die Saite, die Sie, Sir Jorge, eingesperrt sind, weil das ist, was wir zeigen, wenn das ausgeführt wird. Also lasst uns das mal ausprobieren. Behauptet, dass ich keinen User Jorge kriege, sieh mal. Ok. Warum? Also lass uns hier sehen. Ähm, es sollte die Protokollierungsfunktion hier ausführen. Nein, ich kehre eigentlich nicht zurück. Ich mache keine Flash-Nachricht, wenn ich mich einlogge Ah, nach rechts. Lassen Sie uns also eine Flash-Maßnahme machen, wenn die, wenn der Benutzer richtig einrastet. Also werde ich das hier drinnen tun. Blitz Sie, Sir. Prozent sind eingesperrt, und ich werde das mit
einem Benutzernamen machen. Sie und,
ähm, das sollten dies an den Indexraum senden, wo wir die Flash-Nachrichten drin haben. Also lassen Sie uns versuchen, dass Flash nicht definiert ist oder wir haben keinen Flash hier drin. Also von Kolben importieren Flash. Okay, also noch ein Mal. Perfekt. Heute Abend funktioniert es richtig, also können Sie sehen, dass es irgendwie so ist,
als würden wir also können Sie sehen, dass es irgendwie so ist,
als würden wir
sicherstellen, dass,
ähm,dass es eine Art Signal in der auf dem Feedbackvon der
Operation gibt. sicherstellen, dass,
ähm, dass es eine Art Signal in der auf dem Feedback In diesem Fall verwenden
wir Flash-Nachrichten, und wir sollten immer testen und mit dem Benutzer kommunizieren. - Was? Was ist gerade passiert? Aber natürlich können
Sie alle Dinge innerhalb der RV-Daten testen, die es Ihnen ermöglichen,
um das Signal zu erhalten, dass diese Funktion ordnungsgemäß funktioniert. Also versuchen wir es mit einem anderen. Wir werden die Abmeldung testen, und wir werden einfach selbst aufpassen und wir behaupten, dass der Benutzer ausgesehen hat, in den Daten
ist. Und wie das einzige Indien in ihrem Fall, müssen
wir diese Flash-Nachricht senden, wenn wir hier reinschauen. Also schau mal aus. Flash-Benutzer schaute auf. Also lassen Sie uns sagen, das ist perfekt. Also sagen, es heißt Rentals, dass zwei Tests, ähm ,
im Grunde, jeder Test ist es jeder von ihnen ist. Es gibt also diesen Test Nummer eins und diesen Test Nummer zwei. Es spielt keine Rolle, wie sehr Subtypes in jedem von ihnen gemacht haben. Okay, Okay, wir versuchen nach den guten Dingen,
wie Dingen, die nicht scheitern werden. Aber lassen Sie uns etwas versuchen, das scheitern würde. Zum Beispiel, um, die falsche Verwendung und sogar Passwort. Lasst uns sehen, wie wir das machen. Also werden wir einen selbst machen, der mit dem Benutzernamen Jorge und dem falschen Passwort sucht. Ähm und dann werden wir behaupten, dass wir diese Schnur hier bekommen. Ah, im Kabel Benutzername und Passwort. Also lasst uns versuchen, das zu tun. Perfekt. So können Sie sehen, dass wir
langsam alle Dinge bauen, die wir geschrieben haben, und testen, an denen sie arbeiten. Die Schöne, sagen
sie,
ist, dass jedes Mal, wenn Sie Ihre Anwendung weiterentwickeln, Sie einen neuen Test für die Dinge erstellen, die Sie bauen. Und Sie können sicher sein, dass Ihre Bewerbung nicht brechen wird. Und das ist wie ein tolles Gefühl zu haben, denn das bedeutet, dass Ihre Anwendung stark ist und Sie keine
Probleme haben werden .
81. Abschlussprojekt: herzlichen Glückwunsch zum Abschluss des Kurses. Das ist Ah, es gab eine ziemlich große Fahrt. Sie haben von Grund auf die Python-Sprache und
Software-Muster wie den Dekorateur und die NBC gelernt. Sie haben von Grund auf die Python-Sprache und
Software-Muster wie den Dekorateur und die NBC gelernt . . Ähm, und Sie haben tatsächlich eine hübsche,
ähm,
komplexe Anwendung so entwickelt ähm, , wie unser professioneller Webentwickler es tun würde. Also, weißt
du, auf jeden Fall. Du solltest dich stolz auf dich selbst fühlen. Und es ist ah, es ist ein tolles Gefühl, über all das zu lernen. Und natürlich ist
das genau wie der Anfang. Sie sollten weiterhin Dinge ausprobieren, Sound-Building-Anwendungen, und ich fühle mich definitiv frei, sie mit mir zu teilen. Ich
freue mich auf deine Kreationen. Als abschließendes Testprojektgebe
ich meinen Schülern gerne,
und wenn du es nicht tust,
die anderen Kurse, die ich mache, habe ich immer diesen abschließenden Test oder ein abschließendes Projekt. Als abschließendes Testprojekt gebe
ich meinen Schülern gerne, und wenn du es nicht tust, die anderen Kurse, die ich mache, habe ich immer diesen abschließenden Test oder ein abschließendes Projekt Wissen und sehen, wie Sie in der Lage waren, alle zu bekommen, um all die Erkenntnisse, dass diese dieser Fluch hat. Und was ich tun wollte, ist,
im Grunde das für die gleiche Art von Format innerhalb,
ähm,
der gebloggten zu verwenden , im Grunde das für die gleiche Art von Format innerhalb, ähm, , um Kommentare zu jedem Block Post machen zu können. Also denken Sie daran, wie wir diese Registrierungsfunktion auf den Benutzeransichten hatten, Ähm, wo wir nichts damit gemacht haben. Aber ich möchte, dass Sie irgendwie mögen, erlauben Sie einem Benutzer sich zu registrieren und dann in der Lage sein, Kommentare zu jedem Block Post zu posten. Und, ähm, und das wäre das letzte Projekt. Schließe das ab. Ich möchte, dass du auch Tests dafür schreibst und dann, ah, mit all den Kursen und allen Schülern hier drinnen
auf einem Git-Repository
teilst, teilst, damit wir einen Blick werfen können. Ich werd einen Blick werfen. Ich lade den Code herunter und führe ihn auf meinem Computer aus. Und wenn es gut ist, dann werde ich es tun. Irgendwie eine öffentliche Anerkennung davon. Und ich werde auch das Angebot gefallen,
ähm, ähm, sehr ermäßigte Coupons für meinen nächsten Kurs,
Äh, ah. Meine Kurse über Python und andere, ähm, andere, wie Frontend und und, äh, und andere Dinge, die ich im Sinn habe. Also Ah, auf jeden Fall. Ich möchte, dass du diese Herausforderung annimmst und uns zeigst, was du mit dem, , was du bisher gelernt hast,
anstellen kannst. So toller Job. Und hoffentlich hoffentlich sehen wir uns bald in meinem nächsten Kurs