So verwenden Sie dieselbe URL und Klasse für die Funktionen „Put', „Get', „Post' und „Delete' in der Basis-API der DRF-Klasse

PHPz
Freigeben: 2024-02-08 20:45:13
nach vorne
392 Leute haben es durchsucht

如何在 drf 类基础 api 中对 put、get、post、delete 函数使用相同的 url 和类

Frageninhalt

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
Nach dem Login kopieren

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 ...


Richtige Antwort


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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!