Dies ist ** 3rd **, ein Memorandum zur Erstellung einer Shogi Score Management App mit Django.
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
--Django Standardeinstellungen für die Admin-Site
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 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 ()".
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.
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!
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.
Es scheint, dass die Verwaltungssite durch Ändern von CSS usw. in Ihre eigene geändert werden kann.
Hier vereinfachen wir die Verwendung der Einstellungen.
Versuchen Sie zunächst, einige Daten einzugeben. Sie können es einfach einfügen, indem Sie auf die Schaltfläche Hinzufügen klicken.
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.
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.
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
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?
[Ansicht erstellen] 1
Recommended Posts