Heim > Artikel > Backend-Entwicklung > So verwenden Sie dieselbe URL und Klasse für die Funktionen „Put“, „Get“, „Post“ und „Delete“ in der Basis-API der DRF-Klasse
In meiner Ansichtsdatei möchte ich diese Logik:
Artikel (apiview):
def get(self, reqeust, id): #logic def put(self, request, id): #logic def post(self, requst, id): #logic def delete(self, request, id): #logic
Ich möchte eine Handle-URL wie diese:
/articles/int:pk # Artikel mit id=pk anzeigen /articles/add # Artikel zur Datenbank hinzufügen Warte...
Aber ich habe eine Frage: Ich möchte nicht unterschiedliche Klassen für unterschiedliche URLs verwenden. Gleichzeitig möchte ich, wenn ich /articles/add aufrufe und einen Methodenaufruf poste, was ist der beste Weg, dies zu erreichen?
Sry, ich bin sehr neu in Python und DRF, ich würde mich über Hilfe freuen, wie ich das am besten machen kann,
Gehe ich das völlig falsch an? Ich möchte einfach nicht drf in der APIview-Methode verwenden, um für jeden Beitrag eine andere Klasse bereitzustellen, erhalten Sie ...
Was Sie hier beschreiben, existiert bereits: nämlich ViewSet
[drf-doc]. Dadurch werden verschiedene Methoden in derselben Klasse kombiniert. Verwenden Sie normalerweise denselben Serialisierer usw. Es gruppiert also logisch, was oft sehr ähnlich ist.
Um Elemente korrekt zu leiten, werden mit Router
[drf-doc] die entsprechenden Pfade erstellt. Einige verfügen über Primärschlüssel wie GET, PUT, PATCH und DELETE, POST jedoch nicht. Anschließend können Sie es weiter anpassen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie dieselbe URL und Klasse für die Funktionen „Put“, „Get“, „Post“ und „Delete“ in der Basis-API der DRF-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!