如何在 UpdateView django 中获取 request.user
how to get request.user in UpdateView django
我想将更新视图限制为特定 user.How 我知道哪个用户请求更新吗 view.I 我是 django.Thanks 的新手
您可以覆盖 UpdateView
的 dispatch
方法
class ExampleUpdate(UpdateView):
model = Example
form_class = ExampleUpdateForm
template_name = 'path/to/example.html'
def dispatch(self, request, *args, **kwargs):
# here you can make your custom validation for any particular user
if not request.user.is_superuser:
raise PermissionDenied()
return super().dispatch(request, *args, **kwargs)
或者你也可以使用PermissionRequiredMixin
from django.contrib.auth.mixins import PermissionRequiredMixin
class MyView(PermissionRequiredMixin, UpdateView):
permission_required = 'aoo_name.can_update'
这个 mixin,就像 permission_required
装饰器一样,检查访问视图的用户是否具有所有给定的权限。您应该使用 permission_required
参数
指定权限(或可迭代的权限)
To set user specific permissions you can read:
https://docs.djangoproject.com/en/dev/topics/auth/default/#permissions-and-authorization
我想将更新视图限制为特定 user.How 我知道哪个用户请求更新吗 view.I 我是 django.Thanks 的新手
您可以覆盖 UpdateView
的dispatch
方法
class ExampleUpdate(UpdateView):
model = Example
form_class = ExampleUpdateForm
template_name = 'path/to/example.html'
def dispatch(self, request, *args, **kwargs):
# here you can make your custom validation for any particular user
if not request.user.is_superuser:
raise PermissionDenied()
return super().dispatch(request, *args, **kwargs)
或者你也可以使用PermissionRequiredMixin
from django.contrib.auth.mixins import PermissionRequiredMixin
class MyView(PermissionRequiredMixin, UpdateView):
permission_required = 'aoo_name.can_update'
这个 mixin,就像 permission_required
装饰器一样,检查访问视图的用户是否具有所有给定的权限。您应该使用 permission_required
参数
To set user specific permissions you can read: https://docs.djangoproject.com/en/dev/topics/auth/default/#permissions-and-authorization