【发布时间】:2017-09-13 08:53:22
【问题描述】:
我正在使用 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 教程 here 使用基于方法的视图和 form.py 生成表单,在那里我可以检查请求方法并调用 form.save() 然后将用户重定向到个人资料页面(可能是索引)。
1.如何检查数据是否更新,然后将用户重定向到我班级中的index 班级?
2。这个方法适合用pk编辑数据吗?
我还想在更新后生成可以使用的 Flash 消息
messages.success(request, "Profile updated")
3.由于类没有请求对象,如何在基于类的视图中使用messages?
【问题讨论】:
标签: python django django-class-based-views django-1.11