Python 在Django中传递到实际视图之前,如何将URL路由到公共方法
以下是我的代码:- url.py文件:-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(
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。如果您有中间件=(…),那么您需要一种新的样式。