На сайте, который я разрабатываю в Django, я хочу ограничить доступ к представлениям, чтобы только суперпользователи могли получить к ним доступ. Я мог бы использовать @login_required
или LoginRequiredMixin
, однако у меня уже есть система входа для обычного человека, так что любой зарегистрированный пользователь имеет доступ к представлению.
Я попробовал что-то, что, как я думал, сработало бы SuperUserRequired
как миксин, однако это, очевидно, не сработало.
Это должно быть в состоянии работать в CBV, так как эточто я использую для этого представления. Вот соответствующий вид, к которому я хочу применить это ограничение.
class CreatePostView(LoginRequiredMixin,CreateView):
redirect_field_name = 'posts/post_detail.html'
form_class = PostForm
model = Post
def form_valid(self,form):
form.instance.author = self.request.user
return super().form_valid(form)
Спасибо за любую помощь, которую вы можете оказать:)