对于我的“教程应用程序”,我在创建对象后创建了一些特定权限。只有对象的作者才能更新或删除它。
\n\n我是初学者,我是来学习的,如果我的方法丑陋请宽容。
\n\n这是我的观点.py
\n\nclass 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)