Django不同类型的用户

时间:2017-10-10 11:43:01

标签: python django

我想用Django构建一个简单的网站,到目前为止,我已经制作了一个注册表单,每个人都可以注册并发布一些公告。

对于下一阶段我想让用户只能默认查看公告,我也想让其他类型的用户可以查看和创建公告。

我应该如何构建用户模型并注册表单?我应该使用权限还是AbstractUser?

我正在使用的当前注册forms.py就像

from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import get_user_model
class UserCreateForm(UserCreationForm):
    class Meta:
        fields = ("username", "email", "password1", "password2")
        model = get_user_model()

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields["username"].label = "Display name"
        self.fields["email"].label = "Email address"

关于公告的观点就像

#show all announcement
class AnnouncementListView(ListView):
    ...

#show a specific announcement
class PostDetailView(DetailView):
    ...

#create a announcement
class CreatePostView(LoginRequiredMixin,CreateView):
    ...

谢谢!

1 个答案:

答案 0 :(得分:1)

从django admin创建组(https://docs.djangoproject.com/en/1.11/topics/auth/)。然后为您的CreatePostView编写装饰器。https://djangosnippets.org/snippets/1703/