[PYTHON] Für mich als Django-Anfänger (4) - Erstellen Sie eine Memo-App-

** Tutorial Liste **

No. Titel
1 Für mich als Django-Anfänger (1)-Projekt App-
2 Für mich als Django-Anfänger (2)-Was ist MTV?-
3 Für mich als Django-Anfänger (3)-Hallo Welt!-
4 Für mich als Django-Anfänger (4)-Erstellung einer Memo-App-

** Letzte Bewertung **

Letztes Mal hat "Hello World!" Mit Django verifiziert. Dieses Mal erstellen wir eine einfache Memo-App mit allen ** MTV **!

** Lass uns Django - Erstelle eine Memo-App - **

Das Ziel dieses Mal ist es, das Verständnis von ** Modell ** und ** Vorlage **, die beim letzten Mal nicht verwendet wurden, durch Erstellen einer Memo-App zu vertiefen. Basierend auf dem, was ich bisher gelernt habe, würde ich mich sehr freuen, wenn ich den Ablauf der Erstellung einer Webanwendung mit Django verstehen könnte!

Wir werden es gemäß dem folgenden Ablauf erstellen.

  1. Modelldefinition
  2. Reflexion in der Datenbank (übliches Ereignis: migrieren)
  3. Admin-Seite
  4. Einstellungen anzeigen
  5. Vorlageneinstellungen
  6. URL-Einstellungen

** Modelldefinition **

** Modell ** beschreibt die Definition der Daten, die in der Datenbank gespeichert werden sollen. Lass es uns schreiben.

app1/models.py

from django.db import models

# Create your models here.

class Memo(models.Model):

title = models.CharField (verbose_name = 'title', max_length = 100) text = models.TextField (verbose_name = 'content') created_date = models.DateTimeField (verbose_name = 'Erstellungsdatum', auto_now_add = True)

    def __str__(self):
        return self.title

Schauen wir uns jeden an.

--Memo ist der Name des Modells. Modellnamen werden großgeschrieben. --title, text, created_date sind Felder, die in der Datenbank registriert werden sollen.

Dies ist das Ende der Modelldefinition. Es gibt viele andere Arten von Feldern im Modell. Wenn Sie also neugierig sind, schauen Sie sich die [offizielle Dokumentation] an (https://docs.djangoproject.com/ja/3.0/contents/). ..

** Reflexion in der Datenbank (übliches Ereignis: migrieren) **

Nachdem das Modell definiert wurde, müssen Sie einen ** Migrationsprozess ** durchführen, um diese Informationen in der Datenbank wiederzugeben. Dies ist ein übliches oder traditionelles Ereignis und muss immer dann durchgeführt werden, wenn ein Modell hinzugefügt oder geändert wird.

Führen Sie die folgende Verarbeitung aus, um die Modelldefinition in der Datenbank wiederzugeben.

Erstellen einer Migrationsdatei

Führen Sie den folgenden Befehl an der Eingabeaufforderung aus.

C:\Users\User_name\myapp>python manage.py makemigrations

Dann sehen Sie die folgende Ausgabe. Zu diesem Zeitpunkt wurde eine Datei für die Migration erstellt, die jedoch noch nicht in der Datenbank enthalten ist.

Migrations for 'app1':
  app1\migrations\0001_initial.py
    - Create model Memo

Meine große

Fahren Sie mit dem folgenden Befehl fort:

C:\Users\User_name\myapp>python manage.py migrate

Dann sollten Sie die folgende Ausgabe sehen.

Operations to perform:
  Apply all migrations: admin, app1, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying app1.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying sessions.0001_initial... OK

Mein Großer ist mit genau diesem komplett! Das Memo-Modell wurde erfolgreich in der Datenbank wiedergegeben! ... aber es ist schwer vorstellbar, was tatsächlich passiert ist. Um ein solches Problem zu lösen, haben wir heute einen speziellen Artikel vorbereitet.

** Administratorseite **

Django wird standardmäßig mit einer Administrationsseite geliefert. Hier möchte ich die Daten auf der Administratorseite in der Datenbank speichern und sehen, was bei der vorherigen Migration passiert ist.

Starten Sie den Server sofort und greifen Sie auf die Administratorseite zu!

C:\Users\User_name\myapp>python manage.py runserver

Nachdem Sie überprüft haben, ob der Server gestartet wurde, gehen Sie zu "http: //127.0.0.1: 8000 / admin". Dann erhalten Sie die folgende Seite. django_admin.PNG

Hmm? Oh, Passwort für den Benutzernamen? Ich habe so etwas nicht. Das stimmt, aber mach dir keine Sorgen. Dies kann auch einfach über die Eingabeaufforderung erstellt werden. Trennen Sie den Server einmal oder bereiten Sie eine neue Konsole vor und führen Sie den folgenden Befehl aus.

C:\Users\User_name\myapp>python manage.py createsuperuser
Username (leave blank to use 'User_name'): memo_user
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.    

Es wird zeilenweise von oben angezeigt. Wenn Sie die Eingabetaste drücken, ohne einen Benutzernamen einzugeben, wird Ihr 'Benutzername' registriert. Die Benutzerregistrierung ist abgeschlossen, wenn Sie die E-Mail-Adresse und das Passwort korrekt eingegeben haben. Starten Sie den Server erneut und melden Sie sich auf der Seite / admin an. django_admin_page.PNG Dies ist die Administrationsseite, die standardmäßig mit Django geliefert wird. Es ist einfach und raffiniert, nicht wahr? Hmm, ich mag es. Um das Modell auf der Administratorseite zu überprüfen, müssen Sie es in app1 / admin.py festlegen.

app1/admin.py

from django.contrib import admin

aus .models importieren Memo # Memo importieren

# Register your models here.

admin.site.register (Memo) # Hinzufügen

Nachdem Sie diese geschrieben haben, kehren Sie bitte zur Administratorseite zurück und aktualisieren Sie die Seite. django_admin_add_model.PNG Ich habe das Modell meiner Memo-App bestätigt! Gehen Sie nun zur Memo-Seite und erstellen Sie oben rechts eine Notiz aus ADD MEMO! add_memo.PNG Was für ein Memo hast du geschrieben? Nein, das war mir egal (lacht) Wenn Sie zur Memoseite zurückkehren, können Sie sehen, dass das Memo hinzugefügt wurde. Auf diese Weise können Sie mit Django Daten zur Datenbank hinzufügen und deren Inhalt über die Administratorseite überprüfen. Anscheinend scheint dies eine lächerlich nützliche Funktion zu sein, und es ist notwendig, die Datenbanksprache über die Konsole zu schreiben und zu bedienen oder eine Administratorseite von Grund auf neu zu erstellen. Um ehrlich zu sein, entwickle ich die Datenbank noch. Daher ist es sehr hilfreich, die Daten visuell so bearbeiten zu können. Vielen Dank, Django.

** Einstellungen anzeigen **

Von hier aus setzen wir ** View **. View ruft auf Anfrage Daten aus der Datenbank ab und entscheidet, wie sie auf dem Bildschirm angezeigt werden sollen!

app1/views.py

from django.shortcuts import render

aus .models importieren Memo # Memo importieren

# Create your views here.

def memo_list(request):
    memos = Memo.objects.all()

    context = {'memos': memos}
    return render(request, 'app1/memo_list.html', context)

Dieses Mal werde ich die Liste der Memos auf dem Bildschirm anzeigen. Dazu müssen wir die Daten für das Memo-Modell abrufen.

--memos = Memo.objects.all () : Ruft alle Objekte (Titel, Inhalt, Erstellungsdatum) von Memo ab. --context = {'memos': memos} : Machen Sie die erforderlichen Informationen zu einem Wörterbuch und übergeben Sie sie an die Vorlage.

Damit sind die Ansichtseinstellungen abgeschlossen. Es ist möglich, die Bedingungen beim Erfassen von Daten einzugrenzen, aber dieses Mal werden wir alle mit Simple is Best erfassen. Offizielles Dokument ist hilfreich, um die Daten abzurufen.

** Vorlageneinstellungen **

Es ist endlich vorbei. Die Vorlage wird standardmäßig nicht bereitgestellt, daher müssen Sie sie selbst vorbereiten. Bereiten Sie unter der App ein Verzeichnis mit dem Namen templates vor und bereiten Sie darin ein Verzeichnis mit dem Namen app1 vor. Dann legen Sie die HTML-Datei in App1. Den Grund für die Verwendung dieser Komposition finden Sie in diesem Artikel von narito blog.

myapp/templates/app1/memo_list.html

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Memo</title>
</head>

<style>
    .app-name {
        text-align: center;
    }
    .contents {
        margin-left: 300px;
        margin-right: 300px;
    }
</style>


<div class='app-name'>

Mein Memo

<! - Inhalt des Memo-> {% for memo in memos %}


Titel: {{memo.title}}

Erstellungsdatum: {{memo.created_date}}

{{ memo.text | linebreaks }}

{% endfor %}

Ich werde hier nicht auf HTML / CSS eingehen, sondern mich darauf konzentrieren, wie die von View empfangenen Memos weiter oben in der Vorlage angezeigt werden.

Zu diesem Zeitpunkt ist das Ziel gleich um die Ecke! Alles was Sie tun müssen, ist die URL einzustellen!

** URL-Einstellungen **

Stellen Sie die URL "memo_list /" ein, um die Verarbeitung auf "views.memo_list" zu leiten. app1/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.hello),

Pfad ('memo_list /', views.memo_list), # Hinzufügen ]

Starten Sie nun den Server wie gewohnt und gehen Sie zu "http: //127.0.0.1: 8000 / memo_list"! memo_app.PNG Du hast es endlich geschafft! ** Modell ** - ** Vorlage ** - ** Ansicht ** haben die Hände fest verbunden, um die Memo-App zu vervollständigen! Herzliche Glückwünsche! Dies ist natürlich nur der Anfang vom Anfang, und es ist kein Wunder, dass es sich unbefriedigend anfühlt. Apropos Memo-App

--Posten / Bearbeiten / Löschen

Es wäre bequemer, wenn es eine solche Funktion gäbe. Seien Sie versichert, alles, was ich hier aufgelistet habe, kann in Django implementiert werden! Sie wollen mehr über Django erfahren, oder? Sie können auch HTML / CSS lernen und es dekorieren, um gut gestaltete Webanwendungen zu erstellen!

Schließlich

Wie war es? Dieses Mal habe ich insgesamt 4 Django-Tutorials geschrieben. Ich hoffe, Sie haben das Ziel dieses Tutorials erreicht: "Verstehen Sie den Mechanismus von Django auf transzendentale Weise und geben Sie den Menschen das Gefühl, dass Django nicht beängstigend und interessant ist." Zu Beginn des Lernens sage ich sicher: "Django ist nicht beängstigend! Interessant!"

** Verweise **

Recommended Posts

Für mich als Django-Anfänger (4) - Erstellen Sie eine Memo-App-
Für mich als Django-Anfänger (1) -Erstellen eines Projekts / einer App-
Für mich als Django-Anfänger (3) - Hallo Welt! --- ---.
Für mich als Django-Anfänger (2) - Was ist MTV?
Schritte zum Erstellen eines Django-Projekts
So entwickeln Sie eine Cart-App mit Django
Verfahren zur Erstellung plattformübergreifender Apps mit kivy
So erstellen Sie eine Rest-API in Django
Bis Sie eine neue App in Django erstellen
Ich möchte eine Django-App auf Heroku hochladen
Erstellen Sie einen Django-Zeitplan
Lassen Sie uns eine Todo-App mit dem Django REST-Framework erstellen
Schritte von der Installation von Python 3 bis zur Erstellung einer Django-App
Todo-App mit Django erstellen ③ Aufgabenlistenseite erstellen
Todo-App mit Django erstellen ⑤ Funktion zum Bearbeiten von Aufgaben erstellen
Erstellen Sie eine Homepage mit Django
Shell zum Erstellen eines Django-Projekts
Erstellen Sie einen Django-Anmeldebildschirm
Erstellen Sie eine Shogi Score Management App mit Django 4 ~ Create View ~
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
[Django] Memo zum Erstellen einer Umgebung von Django + MySQL + Vue.js [Python]
Erstellen Sie eine Shogi Score Management App mit Django 2 ~ Datenbankeinstellungen ~
Stellen Sie Django + React von Grund auf auf GKE bereit. (3) Erstellen Sie ein GCP-Projekt
Entwicklungspraxis für Webanwendungen: Erstellen Sie mit Django eine Seite zum Erstellen von Schichten! (Schichterstellungsseite)
Erstellen Sie eine Shogi Score Management App mit Django 6 ~ Split Template ~
So erstellen Sie ein Conda-Paket
Rails-Benutzer versuchen, mit Django eine einfache Blog-Engine zu erstellen
So erstellen Sie eine virtuelle Brücke
Erstellen und Bereitstellen von Django-Apps (PTVS) mithilfe des Azure Table-Speichers
Implementieren Sie die Django-App auf Hy
Wie erstelle ich eine Docker-Datei?
5 Möglichkeiten zum Erstellen eines Python-Chatbots
So erstellen Sie eine Konfigurationsdatei
Erstellen Sie eine REST-API, um dynamodb mit dem Django REST Framework zu betreiben
Erstellen Sie mit Django einen Datei-Uploader
Erstellen Sie mit Django einen LINE-Bot
Entwicklungspraxis für Webanwendungen: Erstellen Sie mit Django eine Seite zum Erstellen von Schichten! (Einführung)
Eine Geschichte über einen Anfänger, der sich bemüht, CentOS 8 einzurichten (Verfahrensnotiz)
Todo-App mit Django erstellen ④ Ordner- und Aufgabenerstellungsfunktion implementieren
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
So erstellen Sie einen Klon aus Github
Erstellen Sie einen Bot, um Corona-Virus-Informationen zu retweeten
So erstellen Sie einen Git-Klonordner
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
Erstellen Sie ein Modell für Ihren Django-Zeitplan
Erstellen Sie eine einfache GUI-App in Python
Erstellen Sie eine GUI-App mit Tkinter of Python
Erstellen Sie eine einfache Web-App mit Flasche
Erstellen Sie eine Python-GUI-App in Docker (PySimpleGUI).
[Django] Memo, wenn das Protokoll nicht war
Erstellen der ersten App mit Django Startprojekt
Verschiedene Möglichkeiten, ein Wörterbuch zu erstellen (Erinnerungen)
So erstellen Sie ein Repository aus Medien
Skript zum Erstellen einer Mac-Wörterbuchdatei
Anfänger haben versucht, eine Cloud-native Webanwendung mit Datastore / GAE zu erstellen
Versuchen Sie, mit WebSocket mit Django (Swamp Dragon) eine Todo-Verwaltungssite zu erstellen.
Ein Anfänger des maschinellen Lernens versuchte an einem Tag, eine Sheltie-Urteils-KI zu erstellen
Bearbeiten Sie Excel in Python, um eine Pivot-Tabelle zu erstellen
So tarnen Sie eine ZIP-Datei als PNG-Datei
Ich möchte einfach ein Rauschmodell erstellen