<p>您可以尝试通过应用<code>Middleware</code>来接受特定的请求</p>
<p>例如,您可以使用<code>Middleware</code>和<code>JSON Schema</code>来拦截特定的请求并触发所需的脚本。在</p>
<pre><code>from jsonschema import validate
class CustomMiddleware(object):
JSON_SCHEMA={
"type": "array",
"items": {
"type" : "object",
"properties" : {
"sign" : {
"type" : "number"
}
}
}
def process_request(self, request):
if 'application/json' in request.META['CONTENT_TYPE'] and request.method == 'POST':
data = request.body
try:
validate(data, self.JSON_SCHEMA)
# Schema is valid invoke your hooks
except jsonschema.exceptions.ValidationError as ve:
# proceed request further
</code></pre>
<p>但如果您需要在请求之间保存状态,最好使用<code>session</code>来处理这种情况</p>
<p>另外,不要忘记在您的<code>settings.py</code>中添加这个中间件,如下所示</p>
^{pr2}$
<p>默认情况下,中间件捕获所有请求,因此您需要在<code>process_request</code>函数中过滤请求。在</p>
<p><code>JSONSchema</code>用于减少验证请求的<code>if-else</code>语句的数量,您可以根据自己的需要定义不同的规则,只需声明性的,而不是命令式的。这确实使代码更具可读性和灵活性。您不应该使用<code>JSONSchema</code>这只是验证请求的一种可能方法。在</p>