1

我很好奇accept_method在定义 url 时直接设置 url

url(r'some-pattern', 'view_name', name='url_name', accept_method='GET|POST')

我知道有视图装饰器之类require_GET的,require_POST等等。

有没有 Django 的解决方案或任何扩展来做到这一点?

谢谢。

4

2 回答 2

0

是的,它可以使用 django 中间件来完成。

使用Process Request拦截请求。

它应该返回 None 或 HttpResponse 对象。如果它返回 None,Django 将继续处理这个请求,执行任何其他 process_request() 中间件,然后是 process_view() 中间件,最后是适当的视图。如果它返回一个 HttpResponse 对象,Django 不会费心调用任何其他请求、视图或异常中间件或适当的视图;它将响应中间件应用于该 HttpResponse,并返回结果。

HttpRequest有一个path包含 url 的属性。使用该 url 查找urlconf并检查urlconf参数accept-method并返回或相应地返回None或相同HttpResponse

于 2013-01-22T05:14:29.280 回答
0

@Pratik Mandrekar 感谢您提供明确的信息和文档。

我创建了一个小型应用程序来完成这种工作https://github.com/imanhodjaev/django-besmart-common

于 2013-01-23T08:28:55.607 回答