我想允许所有用户在他们是所有者的地方创建一个“域”,但我也希望管理员用户能够为其他用户创建一个“域”。
到目前为止,这是我要处理的非管理员案例:
# views.py
class DomainCreateView(LoginRequiredMixin, DomainActionMixin, CreateView):
model = Domain
action = "created"
form_class = DomainForm
success_url = 'domains/'
def form_valid(self, form):
form.instance.user = self.request.user
return super(DomainCreateView, self).form_valid(form)
# forms.py
class DomainForm(forms.ModelForm):
class Meta:
model = Domain
fields = ('title', 'url')
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.form_tag = False
self.helper.layout = Layout(
Field('title', placeholder="title"),
Field('url', placeholder="url"),
)
super(DomainForm, self).__init__(*args, **kwargs)
请注意,我使用了一些 mixin 和脆的形式,所以这就是它有点不标准的原因。我想两者都不应该影响这个问题。