[PYTHON] Django: Klasse aus String importieren

Importieren Sie eine Klasse aus einer Django-Zeichenfolge.

Hier ist ein Beispiel Repository. Bitte beachten Sie, dass das Repository auch als Einstellung für jede APP dient.

Es gibt Zeiten, in denen Sie eine Klasse aus einer Zeichenfolge in Django importieren möchten. Verwenden Sie in diesem Fall import_string ** in ** django.utils.module_loading.

from django.utils.module_loading import import_string

cl = import_string('rest_framework.permissions.IsAdminUser')

verwenden

Ich habe die Berechtigung in settings.py als Array von Zeichenfolgen festgelegt und verwendet, als ich sie im RestFrameWork Viewset verwenden wollte.

project/settings.py


SAMPLE_PERMISSIONS = [
    'rest_framework.permissions.IsAuthenticated',
    'sample_app.permissions.SamplePermission'
]

sample_app/views.py


from django.conf import settings
from rest_framework.viewsets import ModelViewSet
from django.utils.module_loading import import_string

from .serializers import SampleSerializer
from .models import Sample


class SampleViewSet(ModelViewSet):
    serializer_class = SampleSerializer
    queryset = Sample.objects.all()
    
    #Hier verwendet.
    # IsAuthenticated,SamplePermission gilt für Berechtigungen.
    permission_classes = [
        import_string(permission_class) for permission_class in settings.SAMPLE_PERMISSIONS]

Sie können es so verwenden. Ich denke, es gibt Zeiten, in denen ich es benutze, also als Referenz,

Hier ist ein Beispiel Repository. Bitte beachten Sie, dass das Repository auch als Einstellung für jede APP dient.

Na dann, hab ein gutes Django-Leben.

Recommended Posts

Django: Klasse aus String importieren
Generieren Sie eine Klasse aus einer Zeichenfolge in Python
Erstellen Sie einen Pandas-Datenrahmen aus einer Zeichenfolge.
Die Geschichte des Django-Modellfeldes verschwindet aus der Klasse
Python - Dynamische Aufruffunktion von String
Erstellen Sie eine Instanz einer vordefinierten Klasse aus einer Zeichenfolge in Python
# 5 [python3] Extrahiert Zeichen aus einer Zeichenfolge
Verwenden Sie Django aus einem lokalen Python-Skript
So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge
DJango Memo: Von Anfang an (Erstellen einer Ansicht)
Erstellen Sie ein Datum / Uhrzeit-Objekt aus einer Zeichenfolge in Python (Python 3.3).
Führen Sie Python-Dateien mit Django aus HTML aus
Erstellen Sie einen Django-Zeitplan
Python aus oder importieren
Django Memo # 1 von Grund auf neu
DJango Hinweis: Von Anfang an (mit einer generischen Ansicht)
DJango Hinweis: Von Anfang an (Erstellen einer Ansicht aus einer Vorlage)
Schritte von der Installation von Python 3 bis zur Erstellung einer Django-App
Machen Sie das Modell zu einer Zeichenfolge in der Django-HTML-Vorlage
Django kann nicht importiert werden
Starten Sie ein Django-Projekt
[Django] Geben Sie Form einen dynamischen Anfangswert aus Model
Anders als der Importtyp von Python. Bedeutung von aus A Import B.
Erstellen Sie mit Django eine Bulletin-Board-App von Grund auf neu. (Teil 2)
Erstellen Sie mit Django eine Bulletin-Board-App von Grund auf neu. (Teil 3)
Python> Aus einer mehrzeiligen Zeichenfolge anstelle einer Datei lesen> io.StringIO ()
Django von vorne anfangen (Teil: 2)
Django von vorne anfangen (Teil: 1)
[Python] Verwenden Sie eine Zeichenfolgenfolge
Erstellen Sie eine Homepage mit Django
Ist diese Zeichenfolge ein Bruchteil?
[Django] Erstellen Sie ein Pulldown-Menü
Importieren Sie aus sklearn.datasets fetch_mldata-> fetch_openml
Erstellen Sie einen Django-Anmeldebildschirm
Verwenden Sie das Django-Modell vom Interpreter
Vorlagenregistrierung von Django Bootstrap
Profil innerhalb einer Methode der Klasse
Stellen Sie Django + React von Grund auf auf GKE bereit. (3) Erstellen Sie ein GCP-Projekt
Versuchen Sie, mit Python3 eine Zeichenfolge aus einem Bild zu extrahieren
So erhalten Sie eine Zeichenfolge aus einem Befehlszeilenargument in Python
Erstellt eine Klasse zum Herunterladen und Analysieren von XBRL von UFO Catcher
Geben Sie die Zeile mit der angegebenen Zeichenfolge aus der Textdatei aus
So extrahieren Sie die gewünschte Zeichenfolge aus einem Befehl in Zeile 4
Eine Geschichte von einer Person, die Django aus der interaktiven Python-Shell importieren und Dinge in der DB speichern wollte