2016-08-20 21 views
0

这是我想知道它如何处理get和post请求的代码片段。我大部分时间都感到困惑,因此如何更好地理解这一点,以便我可以编写更好的后端代码。如何在视图中处理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 

这段代码,用于处理以创建邮政

回答

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

感谢您的解释! –