django에서 자주 사용하는 일반적인 보기 방법

2040 단어 django
1,    
class ArticlePostListView(ListView):
    model = ArticlePost
    context_object_name = 'post'
    template_name = 'course/course_list.html'

    # queryset = ArticlePost.objects.filter(user=User.objects.filter(username='admin')) #  1
    def get_queryset(self): #  2
        qs = super(ArticlePostListView,self).get_queryset()
        return qs.filter(user=User.objects.filter(username="admin"))

2,    
class CreateArticlePostView(CreateView):    #        get  
    model = ArticlePost
    fields = ['title','body']   #  form    
    template_name = 'course/manage/create_coruse.html'  #    

    def post(self, request, *args, **kwargs):   #  Post  
        form = ArticlePostForm
        if form.is_valid():
            new_post = form.save(commit=False)
            new_post.user = self.request.user
            new_post.save()
            return redirect("course:namege_course")
        return self.render_to_response({'form':form})   #       request  ,     render_to_response    render  

3,    
class DeleteArticlePostView(DeleteView):
    model = ArticlePost
    # template_name = 'course/manage/delete_course_confirm.html'    #    ,      ,   
    success_url = reverse_lazy("article:article_list")
    # reverse_lazy:     URLConf        reverse。reverse_lasy reverse     ,       reverse_lazy      reverse

    def dispatch(self, request, *args, **kwargs):
        resp = super(DeleteArticlePostView, self).dispatch(*args,**kwargs)
        if self.request.is_ajax():                                                  #  ajax      
            response_data = {"result":"ok"}
            return  HttpResponse(json.dump(response_data,content_type="application/json"))
        else:
            return resp

# url(r'dedete-course/(?P\d+/$)',DeleteArticlePostView.as_view(),name='delete_course')  #   pk slug   
# href={% url 'course:delete_course' course.id  %}

좋은 웹페이지 즐겨찾기