django - Django:如何在基于类的视图中获取登录用户的用户名?
问题描述
我已经实现了一个 DeleteView 并希望它在删除对象后将其重定向到登录用户的配置文件:
class DeleteAttendanceFeedItem(DeleteView, LoginRequiredMixin):
model = AttendanceFeedItem
template_name = "users/delete_attendance_feed_item.html"
context_object_name = "attendance_feed_item"
success_url = reverse_lazy("user_profile", kwargs={"username" : request.user.username})
不过,我无权访问基于类的视图中的请求对象。搜索 StackOverflow 表明我可以访问 self.request.user.username,但这会引发相同的错误。
这似乎是一件非常简单的事情,我花了惊人的大量时间阅读 SO 和 Django 文档却完全无济于事。帮助?
解决方案
用于self.request.user.username
获取get_success_url()
方法内的用户名
class DeleteAttendanceFeedItem(DeleteView, LoginRequiredMixin):
model = AttendanceFeedItem
template_name = "users/delete_attendance_feed_item.html"
context_object_name = "attendance_feed_item"
def get_success_url(self):
return reverse_lazy("user_profile", kwargs={"username": self.request.user.username})
推荐阅读
- react-native - 绝对路径不适用于 Windows 但适用于 Mac?
- python - 如何使用索引为张量赋值
- typescript - 如何创建索引为字符串的对象数组?
- javascript - ReactJs + Redux ---> 尝试调用 item.business_id === businessId 的业务名称
- python-3.x - 如何在“for char in string”Python 3中更改当前字符
- java - Spring MVC 静态资源有时找不到
- sql-server - Conditions in T-SQL Query
- javascript - 为什么,何时以及如何在 Angular 中使用这个 sintaxis?
- python - IBM Speech-To-Text 的输出
- linux - 与 yuvj420p 等效的未知 V4L2 像素格式