小编Léo*_*yna的帖子

Django - 如何在视图和模板中使用特定的自定义权限?

对于我的“教程应用程序”,我在创建对象后创建了一些特定权限。只有对象的作者才能更新或删除它。

\n\n

我是初学者,我是来学习的,如果我的方法丑陋请宽容。

\n\n

这是我的观点.py

\n\n
class CreateArticle(LoginRequiredMixin, generic.CreateView):\n\nmodel = Article\ncontext_object_name = \'article\'\ntemplate_name = "blog/edit_article.html"\nform_class = ArticleForm\n\ndef form_valid(self, form):\n    self.object = form.save(commit=False)\n    self.object.slug = auto_slug(self.object.titre)\n    user = User.objects.get(id=self.request.user.id)\n    self.object.auteur = user\n\n    self.object.save()\n\n    """On g\xc3\xa9n\xc3\xa8re les 2 permissions suivantes :\n        Modifier l\'article dont on est l\'auteur\n        Supprimer l\'article dont on est l\'auteur"""\n\n    content_type = ContentType.objects.get(app_label=\'blog\', model=\'article\')\n    permission = Permission.objects.create(\n        codename=\'edit_article_{0}\'.format(self.object.id),\n        name=\'Modifier l\\\'article {0}\'.format(self.object.titre),\n        content_type=content_type\n    )\n    user.user_permissions.add(permission)\n    permission = Permission.objects.create(\n        codename=\'delete_article_{0}\'.format(self.object.id),\n        name=\'Supprimer l\\\'article {0}\'.format(self.object.titre),\n        content_type=content_type\n    )\n    user.user_permissions.add(permission)\n\n    messages.success(self.request, "L\'article a \xc3\xa9t\xc3\xa9 cr\xc3\xa9e")\n …
Run Code Online (Sandbox Code Playgroud)

django django-views django-permissions

1
推荐指数
1
解决办法
5510
查看次数

标签 统计

django ×1

django-permissions ×1

django-views ×1