这是我的代码: -
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))
]
view_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)
所以,当我拨打网址时: - http://myserver/api/v1/user_signup 它转到view_user.py文件的“user_signup”方法。
但我想要的是我应该能够在进入user_signup方法之前验证我的请求。
我希望对所有方法的所有请求进行此验证(例如: - user_signup,user_login ...),然后再转到各自的方法。
答案 0 :(得分:2)
使用decorator注释相关视图,其中包含您在调用视图之前要执行的逻辑。
请先查看Python - Decorators。
How to write a custom decorator in django?
如果您想对所有请求执行此操作,无论相关视图如何,那么您应该考虑编写middleware。见how to setup custom middleware in django