2016-08-20 2 views
0

Это часть кода, в которой я хочу знать, как она обрабатывает как запрос на получение, так и сообщение. Я больше всего смущаюсь, как лучше понять это, чтобы я мог писать более качественные коды.Как обрабатывается запрос django во взглядах?

def post_create(request): 
    if request.user.is_staff or request.user.is_superuser: 
     form=PostForm(request.POST or None,request.FILES or None) 
     if form.is_valid(): 
      instance =form.save(commit=False) 
      #print form.cleaned_data.get("title") 
      instance.user=request.user 
      instance.save() 
      return HttpResponseRedirect(instance.get_absolute_url()) 
     context={ 
      "form":form,} 
     return render(request,"post_form.html",context) 
    else: 
     raise Http404 

Этот фрагмент кода для обработки запроса на создание Post

ответ

2

Это мнение не делает никаких различий между различными методами запроса, такие как GET или POST. Если бы это было так, вы бы увидели что-то вроде этого:

def post_create(request): 
    if request.method == 'GET': 
     # your code 
    elif request.method == 'POST': 
     if request.user.is_staff or request.user.is_superuser: 
     # your code 
+0

Так что если я не ошибаюсь, если у вас нет штатного сотрудника или суперпользователя, он не обрабатывает любой запрос, и это вызовет ошибку 404? –

+0

Он не поднимет ошибку, он просто не вернет никакого ответа. Если вы не напишете еще. – dtgq

+0

Спасибо за объяснение !!! –

Смежные вопросы