0

我会在所有网页之前调用 cookie。出于这个原因,我应该在调用所有页面或模块之前创建值键。就我而言,在调用任何页面之前,应该首先构造 cookie。我该如何管理?我应该把它放在哪里,request.session['id']=Null以便在调用任何其他页面之前先调用它?

4

2 回答 2

1

您需要编写一个自定义装饰器来处理这种情况。

您可以在此处阅读有关装饰器的更多信息:https ://docs.djangoproject.com/en/dev/topics/http/decorators/

例如,csrf_exempt装饰器允许在没有 csrf 令牌工具的情况下处理请求,这对于基于 JSON 的请求非常有用。

@csrf_exempt
def new(request):
    if request.method == 'POST':
        json_data = simplejson.loads(request.raw_post_data)
        try:

同样有一个自定义装饰器来确保烹饪并将其用作:

@ensure_cookie
def new(request):
...

编写自定义装饰器:如何在 django 中编写自定义装饰器?

于 2013-02-05T10:26:44.023 回答
0

您可以将此代码放在自定义中间件的 process_request 或 process_view 方法中。

于 2013-02-05T10:34:05.437 回答