Python 在Django中传递到实际视图之前,如何将URL路由到公共方法

Python 在Django中传递到实际视图之前,如何将URL路由到公共方法,python,django,django-models,django-views,django-rest-framework,Python,Django,Django Models,Django Views,Django Rest Framework,以下是我的代码:- url.py文件:- from rest_framework import routers from view_user import user_signup,user_login router = routers.DefaultRouter() urlpatterns = [ url(r'^api/v1/user_signup',csrf_exempt(user_signup)), url(r'^api/v1/user_login',csrf_exempt(

以下是我的代码:-

url.py文件:-

from rest_framework import routers
from view_user import user_signup,user_login

router = routers.DefaultRouter()

urlpatterns = [
   url(r'^api/v1/user_signup',csrf_exempt(user_signup)),
   url(r'^api/v1/user_login',csrf_exempt(user_login))
]
查看_user.py文件:-

def user_signup(request):
    try:
        if request.method == 'POST':
            json_data = json.loads(request.body)
        return JsonResponse(result, safe=False)
    except Exception as e:
                logger.error("at method user : %s", e)
因此,当我调用url时: 它转到view\u user.py文件的“user\u signup”方法

但是我想要的是,我应该能够在请求进入用户注册方法之前验证请求


我希望对所有方法(例如:-user\u signup,user\u login…)的所有服务器请求进行此验证,然后再转到相应的方法。

使用包含在调用视图之前要执行的逻辑的注释注释相关视图

请参阅以获得领先优势


如果您想在所有请求上做到这一点,不管相关的视图,那么您应该考虑写一个。请参见

使用包含在调用视图之前要执行的逻辑的注释注释相关视图

请参阅以获得领先优势


如果您想在所有请求上做到这一点,不管相关的视图,那么您应该考虑写一个。参见

非常感谢您的建议。但我必须为每个方法添加装饰器。是否有一种方法可以验证Django的所有请求,在我转发到相应的方法之前。@维奈应该考虑写一个。看,中间件绝对是答案。关于它们的一个简短说明。在v1.10中,有一种新样式用于创建自定义中间件,该中间件不向后兼容,具体取决于您的settings.py。如果你有中间件=(…),那么你需要一种新的风格。非常感谢你的建议。但我必须为每个方法添加装饰器。是否有一种方法可以验证Django的所有请求,在我转发到相应的方法之前。@维奈应该考虑写一个。看,中间件绝对是答案。关于它们的一个简短说明。在v1.10中,有一种新样式用于创建自定义中间件,该中间件不向后兼容,具体取决于您的settings.py。如果您有中间件=(…),那么您需要一种新的样式。