[PYTHON] Erstellen Sie eine Shogi-Score-Management-App mit Django 3 ~ Django Standard-Management-Site-Einstellungen ~

Einführung

Dies ist ** 3rd **, ein Memorandum zur Erstellung einer Shogi Score Management App mit Django.

Arbeitsumgebung

Die Arbeitsumgebung ist diesmal wie folgt

Außerdem sieht die Verzeichnisstruktur von Django folgendermaßen aus:

- kifu_app_project/
    - kifu_app_project/
        - __init__.py
        - setting.py
        - urls.py
        - wsgi.py
    - kifu_app/
        - migrations/
        - __init__.py
        - admin.py
        - apps.py
        - models.py
        - tests.py
        - views.py
    - manage.py
    - .gitignore

Inhalt dieses Artikels

--Django Standardeinstellungen für die Admin-Site

Django Standard-Admin-Site-Einstellungen

Django wird standardmäßig mit einer Verwaltungssite zum Anzeigen und Verwalten von DB-Daten geliefert. Dieses Mal nehmen wir Einstellungen für die Verwendung dieser Verwaltungssite vor.

Bearbeiten Sie admin.py.

Bearbeiten Sie admin.py in kifu_app.

admin.py


from django.contrib import admin

# Register your models here.

#Unten hinzugefügt

from .models import LargeClass, MiddleClass, SmallClass, Information, Kifu

admin.site.register(LargeClass)
admin.site.register(MiddleClass)
admin.site.register(SmallClass)
admin.site.register(Information)
admin.site.register(Kifu)

Importieren Sie alle zuletzt erstellten Klassen in models.py. Übergeben Sie dann alle importierten Klassen an das Argument "admin.site.register ()".

Benutzer für Login erstellen

Gehen Sie als Nächstes zu dem Punkt, an dem Sie manege.py sehen können, und geben Sie den folgenden Befehl ein.

$ python manage.py createsuperuser
Username: <Nutzername>
Email address: <Email>
Password: <Passwort>

Geben Sie die erforderlichen Informationen für die Einstellungen ein. Sie müssen die E-Mail nicht eingeben.

Starten Sie einen lokalen Server

Dies ist die dritte Serialisierung, aber ich werde den Server endlich starten. Geben Sie in dem Verzeichnis, in dem Sie "manage.py" sehen können, den folgenden Befehl ein

$ python manage.py runserver

Versuchen Sie, auf die Adresse zuzugreifen, die unter "Starten des Entwicklungsservers unter ~" aufgeführt ist. Normalerweise sollte es localhost sein: 8000. Wenn ein Bildschirm wie der im Bild unten angezeigt wird, ist dies in Ordnung! main.png

Melden Sie sich bei der Verwaltungssite an

Greifen Sie dann über die aktuelle URL auf / admin / zu. (Normalerweise localhost: 8000 / admin /) Geben Sie dann den Benutzernamen und das Kennwort ein, die Sie zuvor für die Anmeldung festgelegt haben.

Wahrscheinlich wechselt es wie im Bild unten zum Bildschirm. admin.png

Passen Sie die Verwaltungssite an

Es scheint, dass die Verwaltungssite durch Ändern von CSS usw. in Ihre eigene geändert werden kann.

Hier vereinfachen wir die Verwendung der Einstellungen.

Neue Daten einfügen

Versuchen Sie zunächst, einige Daten einzugeben. Sie können es einfach einfügen, indem Sie auf die Schaltfläche Hinzufügen klicken.

Models.py wurde geändert, um Dateninhalte zurückzugeben

Wenn Sie sich jedoch die eingefügten Daten aus der Liste ansehen, können Sie nur sehen, dass es sich um * Objekt * handelt, und Sie müssen die Details einzeln überprüfen. largeClass.png

Fügen Sie daher jeder Klasse in models.py eine __str__ -Methode hinzu.

models.py


from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator

# Create your models here.

class LargeClass(models.Model):
    name = models.CharField(max_length=10)

    def __str__(self):      #hinzufügen
        return self.name

class MiddleClass(models.Model):
    large_class = models.ForeignKey(LargeClass, on_delete=models.CASCADE)
    name = models.CharField(max_length=10)

    def __str__(self):     #hinzufügen
        return self.name

class SmallClass(models.Model):
    middle_class = models.ForeignKey(MiddleClass, on_delete=models.CASCADE)
    name = models.CharField(max_length=10)

    def __str__(self):     #hinzufügen
        return self.name

class Information(models.Model):
    date = models.DateTimeField()
    sente = models.CharField(max_length=50)
    gote = models.CharField(max_length=50)
    result = models.IntegerField(validators=[MinValueValidator(0), MaxValueValidator(3)])
    my_result = models.IntegerField(validators=[MinValueValidator(0), MaxValueValidator(3)])
    small_class = models.ForeignKey(SmallClass, on_delete=models.CASCADE)
    create_at = models.DateTimeField(auto_now_add=True)
    update_at = models.DateTimeField(auto_now=True)

    def __str__(self):     #hinzufügen
        # return self.date     <- self.Da das Datum vom Typ datetime ist, ist dies ein Fehler
        return self.date.strftime("%Y/%m/%d_%H:%M:%S")    #Konvertieren Sie es auf diese Weise in den Typ str und geben Sie es zurück

class Kifu(models.Model):
    information = models.ForeignKey(Information, on_delete=models.CASCADE)
    number = models.IntegerField(validators=[MinValueValidator(0)])
    te = models.CharField(max_length=20)

    def __str__(self):     #hinzufügen
        return self.te

Verwenden Sie die Methode str (), um die Variable der Spalte zurückzugeben, die Sie anzeigen möchten. Wenn ich jetzt meinen Browser aktualisiere, werden die Informationen sicher angezeigt. largeClass2.png

Es gibt viele andere Anpassungen, die Sie vornehmen können. Weitere Informationen finden Sie auf der folgenden Website. Python Django Tutorial (2) Erstellen der ersten Django-App, Teil 7

Wenn Sie das Administrator-Passwort vergessen haben (hinzugefügt am 09.03.2020)

Als ich zum ersten Mal seit langer Zeit wieder versuchte, die Admin-Funktion zu verwenden, vergaß ich das Passwort und untersuchte, wie ich es ändern kann.

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um ihn zu ändern.

$ python manage.py changepassword <Benutzername, den Sie ändern möchten>
Changing password for user <>
Password:
Password(again):
Password changed successfully for user <>

Dadurch wird Ihr Passwort geändert.

Wenn Sie Ihren Benutzernamen nicht kennen, können Sie ihn finden, indem Sie sich bei der Datenbank anmelden (in meinem Fall MySQL) und die Tabelle auth_user der in diesem Projekt verwendeten DBs überprüfen. (Ich weiß es nicht, weil das Passwort gehasht ist.)

Das Folgende ist eine Referenzseite. How to reset Django admin password?

Vorschau beim nächsten Mal

[Ansicht erstellen] 1

Recommended Posts

Erstellen Sie eine Shogi-Score-Management-App mit Django 3 ~ Django Standard-Management-Site-Einstellungen ~
Erstellen Sie eine Shogi Score Management App mit Django 2 ~ Datenbankeinstellungen ~
Erstellen Sie eine Shogi Score Management App mit Django 4 ~ Create View ~
Erstellen Sie eine Shogi Score Management App mit Django 6 ~ Split Template ~
Erstellen einer Shogi-Score-Management-Anwendung mit Django 1-Environment building-
Erstellen Sie eine Shogi-Score-Management-Anwendung mit Django 5 ~ DB-Daten an Vorlage übergeben ~
Versuchen Sie, mit WebSocket mit Django (Swamp Dragon) eine Todo-Verwaltungssite zu erstellen.
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 1 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 2 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 3 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 4 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 5 ~
Erstellen und Bereitstellen von Django-Apps (PTVS) mithilfe des Azure Table-Speichers
Erstellen Sie mit PyLearn2 eine App zur falschen Unterstützung
Grundeinstellung von Django
Bis Sie eine neue App in Django erstellen
Lassen Sie uns eine Todo-App mit dem Django REST-Framework erstellen
Todo-App mit Django erstellen ③ Aufgabenlistenseite erstellen
Für mich als Django-Anfänger (1) -Erstellen eines Projekts / einer App-
Für mich als Django-Anfänger (4) - Erstellen Sie eine Memo-App-
Todo-App mit Django erstellen ⑤ Funktion zum Bearbeiten von Aufgaben erstellen
Erstellen Sie einen Django-Zeitplan
Ich werde ein Spiel machen, um das Ablegen von Rätseln und Drachen mithilfe von Pygame zu kontrollieren
[Lernrekord] Erstelle mit Pyhtons Tkinter ein mysteriöses Dungeon-Spiel
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Erstellen Sie eine einfache CRUD-App mit der generischen Klassenansicht von Django
Erstellen Sie eine Homepage mit Django
DEBUG-Einstellungen bei Verwendung von Django
Erstellen Sie einen Django-Anmeldebildschirm
Entwicklungspraxis für Webanwendungen: Erstellen Sie mit Django eine Seite zum Erstellen von Schichten! (Schichterstellungsseite)