我想用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):
...
谢谢!的
答案 0 :(得分:1)
从django admin创建组(https://docs.djangoproject.com/en/1.11/topics/auth/)。然后为您的CreatePostView编写装饰器。https://djangosnippets.org/snippets/1703/