2015-12-15 3 views
1

У меня есть приложение django, которое обрабатывает запросы POST и GET.Django: Передача запросов POST и GET

Что такое «лучший» способ дизайна? Должен ли я иметь отдельные методы для обработки каждого типа запроса? Или я должен использовать только один метод? Или должны ли методы быть зависимыми от функциональности?

Заранее спасибо.

+0

POST и GET обрабатываются в контроллерах, а не вид. Вам решать, как структурировать ваше мнение. Держите эту логику отдельно от логики вашего контроллера, хотя – thedarklord47

+0

@ thedarklord47 Django использует слегка странное определение вида (и называет себя каркасом модели-шаблона), поэтому GET/POST обрабатываются в представлении. – knbk

+0

Это личное предпочтение. У вас может быть одна функция, отдельные функции, для использования CBV - 'APIView'? –

ответ

1

Вы можете использовать function based views или Class based views:

В первом случае:

# function based views 

def my_view(request): 

    if request.method == 'POST': 
     # Handle post method 
    else: # request.method == 'GET' 
     # Handle get method 

Во втором случае:

# Class based views 

class MyView(View): # Use the view that fix your needs 

    def get(self, request, *args, **kwargs): 
     # Handle get method 
     return HttpResponse() 

    def post(self, request, *args, **kwargs): 
     # Handle post method 
     return HttpResponse()