所以这就是我到目前为止:
在Views.py
中class ProfileUpdate(UpdateView):
model = User
fields = ('username','email', 'password1', 'password2')
template_name = 'editprofile.html'
def get_object(self, queryset=None):
return self.request.user
editprofile.html中的
<form method="post">
{% csrf_token %}
{{ form }}
<input type="submit" />
</form>
url(r'^profile/', ProfileUpdate.as_view(), name='profile'),
所以我的问题是,这会将每个可能的选项提供给用户配置文件(他们可以自己使用超级用户等)。
我知道这一定是一个简单的改变,但对于我的生活,我无法弄明白。
任何帮助表示赞赏! 感谢
答案 0 :(得分:0)
问题是,exclude
UpdateView
选项
您可以定义exclude
s the fields
class UserForm(forms.ModelForm):
class Meta:
model = User
fields = ('username','email', 'password1', 'password2')
# or
#exclude = ('is_superuser',) #and whatever else you wish to exclude.
然后在您的视图中使用此表单
class ProfileUpdate(UpdateView):
model = User
form_class = UserForm
template_name = 'editprofile.html'
def get_object(self, queryset=None):
return self.request.user