我正在使用 Django 1.11。
我正在使用基于类的视图来更新个人资料页面,以更新身份验证用户个人资料信息。
myapp/accounts/views.py
class UpdateProfile(UpdateView):
model = User
fields = ['first_name', 'last_name']
template_name = 'accounts/update.html'
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.request = None
def get_object(self, queryset=None):
return self.request.user
这适用于更新配置文件。但是更新后报错
No URL to redirect to. Either provide a url or define a get_absolute_url method on the Model.
我在这里遵循了一些 YouTube 教程,这些教程使用基于方法的视图并form.py
生成表单,在那里我可以检查请求方法并调用form.save()
,然后将用户重定向到个人资料页面(可能是索引)。
1. 如何检查数据是否更新,然后将用户重定向到index
我的班级?
2. 这种方法是否适合使用 编辑数据pk
?
我还想在更新后生成可以使用的 Flash 消息
messages.success(request, "Profile updated")
3. 由于类没有请求对象,如何messages
在基于类的视图中使用?