[PYTHON] Schreiben Sie admin.py automatisch mit dem Befehl admin_generator von django-extensions

Was du machen willst

Wenn es viele Tabellen gibt, ist es schwierig, in admin.py zu schreiben. Ich möchte, dass du es automatisch machst.

Sie können den Befehl admin_generator in der Bibliothek django-extensions verwenden, um dies automatisch zu tun. Es macht einen guten Job nach dem Inhalt von models.py.

Was sind Django-Erweiterungen?

django-extensions erweitert die Funktionalität von manage.py und es gibt viele andere Befehle.

Installation

Installieren

$ pip install django-extensions

Fügen Sie einfach zu settings.py hinzu

pj_name/settings.py


.
.
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'django_extensions', # <-Nachtrag
]
.
.

Lauf

Überschreiben Sie das Ausgabeergebnis in admin.py.

$ APP ist der Name der Anwendung, die von $ python manage.py startapp xxx erstellt wurde.

$ python manage.py admin_generator $APP > $APP/admin.py

Ergebnis

Zum Beispiel diese Klasse

models.py


...
class Users(models.Model):
    user_name = models.CharField(max_length=255)
    last_name = models.CharField(max_length=255)
    first_name = models.CharField(max_length=255)
    email = models.CharField(max_length=255)
    created_at = models.DateTimeField()
    updated_at = models.DateTimeField()
    del_flg = models.IntegerField()

    class Meta:
        managed = False
        db_table = 'users'
...

So was

admin.py


...
@admin.register(Users)
class UsersAdmin(admin.ModelAdmin):
    list_display = (
        'id',
        'user_name',
        'last_name',
        'first_name',
        'email',
        'created_at',
        'updated_at',
        'del_flg',
    )
    list_filter = ('created_at', 'updated_at')
    date_hierarchy = 'created_at'
...

Erstellen Sie einen Benutzer, der sich am Verwaltungsbildschirm anmeldet

$ python manage.py createsuperuser

Username (leave blank to use 'anata_no_home_dir'): <-Jeder Name
Email address: <-Beliebige E-Mail-Adresse
Password: <-Passwort
Password (again):  <-nochmal
Superuser created successfully.

Starten Sie den lokalen Server

$ python manage.py runserver

Zugang hier http://127.0.0.1:8000/admin/ スクリーンショット 2020-08-21 13 21 13

Es ist in Ordnung, wenn die Login-> Tabelle mit den zuvor erstellten Benutzerinformationen angezeigt wird.

Das Ende

Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Schreiben Sie admin.py automatisch mit dem Befehl admin_generator von django-extensions
So schreiben Sie eine GUI mit dem Befehl maya
Klonen Sie mit dem Befehl dd
Führen Sie den Befehl COPY mit Psycopg of Python aus
Schreiben Sie einen TCP-Server mit dem SocketServer-Modul
Syntaxhervorhebung in der Befehlszeile mithilfe von Pylements
Führen Sie Route53 in der Befehlszeile mit AWS-CLI aus.
Schreiben Sie Daten mit dem Python-Anforderungsmodul in KINTONE
Ich möchte ssh mit dem Befehl expected automatisieren!