gpt4 book ai didi

python - 如何根据 django urlpatterns 中的 HTTP 方法进行区分

转载 作者:IT老高 更新时间:2023-10-28 20:46:28 24 4
gpt4 key购买 nike

我在查找这方面的信息时遇到了一些困难,可能这不是正确的方法。我想根据 http 方法(GET 或 POST 或 DELETE 或 PUT)将请求路由到两个不同的 View 函数。

因为它通常在 REST apis 中完成,这意味着相同的 url 基于 HTTP 方法具有不同的含义。

我在 django 的 urls.py 文件中看不到这样做的方法,我想要类似的东西:

url(r'^tasks$', 'app.views.get_tasks', method='get'),
url(r'^tasks$', 'app.views.create_task', method='post'),

(注意:我正在使用 django 1.4)

最佳答案

我不认为你可以在不向 URL 添加一堆逻辑的情况下使用不同的函数来执行此操作(这绝不是一个好主意),但你可以在函数内部检查请求方法:

def myview(request):
if request.method == 'GET':
# Code for GET requests
elif request.method == 'POST':
# Code for POST requests

您也可以切换到 class-based views .然后,您只需为每个 HTTP 方法定义一个方法:

class CreateMyModelView(CreateView):
def get(self, request, *args, **kwargs):
# Code for GET requests

def post(self, request, *args, **kwargs):
# Code for POST requests

如果你决定走基于类的路线,另一个很好的资源是http://ccbv.co.uk/ .

关于python - 如何根据 django urlpatterns 中的 HTTP 方法进行区分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19096227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com