首页 > 解决方案 > 如何在基于 Django 类的视图中停止 post 方法默认运行

问题描述

我注意到运行中的GET方法和POST方法。GET当我不POST对该 URL 执行任何请求时,我只想运行该方法。

Class Profile(View):
    template_name = 'profile.html'
    def get(self, request):
        # some code...
        return render(request, self.template_name, context_dict)

    def post(self, request):
        # some code...
        return render(request, self.template_name, context_dict)

POST如果我没有执行任何POST请求,我不想运行该方法。我是 Django 的新手。很抱歉,如果这是一个愚蠢的问题。

标签: djangodjango-viewsdjango-class-based-views

解决方案


处理此问题的一种方法是查找 HttpRequest.method,然后运行相关代码:

if request.method == 'GET':
    do_something()
elif request.method == 'POST':
    do_something_else()

你可以在这里找到更多信息: https ://docs.djangoproject.com/en/3.1/ref/request-response/


推荐阅读