Python str对象没有属性'*';

Python str对象没有属性'*';,python,django,Python,Django,我想更新我的用户密码,但我有错误 str对象没有属性“*” 问题出在u.set\u password(passwordNew)u不是您想要的User模型的实例,而是来自POST表单的字符串值。您需要做的是根据表单字段中的用户名获取User实例 u = User.objects.get(username=request.POST.get('username', '')) 您还必须处理没有具有给定用户名的用户的情况 u不是您想要的User模型的实例,而是来自POST表单的字符串值。您需要做

我想更新我的用户密码,但我有错误

str对象没有属性“*”


问题出在
u.set\u password(passwordNew)
u
不是您想要的
User
模型的实例,而是来自POST表单的字符串值。您需要做的是根据表单字段中的用户名获取
User
实例

    u = User.objects.get(username=request.POST.get('username', ''))
您还必须处理没有具有给定用户名的用户的情况


u
不是您想要的
User
模型的实例,而是来自POST表单的字符串值。您需要做的是根据表单字段中的用户名获取
User
实例

    u = User.objects.get(username=request.POST.get('username', ''))
您还必须处理没有具有给定用户名的用户的情况


您可以通过以下方式获得:

u = request.POST.get('username', '')
NewPassword=set_password(passwordNew)
userobj = User.objects.get(username=u)
query = User.objects.filter(username=userobj).update(password=NewPassword)

您可以通过以下方式获得:

u = request.POST.get('username', '')
NewPassword=set_password(passwordNew)
userobj = User.objects.get(username=u)
query = User.objects.filter(username=userobj).update(password=NewPassword)

请显示完整的回溯。请显示完整的回溯。
request.user.set\u password
可能更合适,尽管在不知道op试图设置密码的情况下很难说for@Sayse
request.user.set_password
要使其工作,用户应登录,还是我弄错了?当然,用户不应该被允许为他们没有登录的用户更改密码。@AKS-如果不是登录的用户,那么你就建了一个巨大的后门。你所要做的就是发布包含用户名、电子邮件和任何你可以轻松记住的密码的数据,并且你已经为你想要的人更改了密码。
request.user.set_password
可能更合适,虽然在不知道op试图设置密码的情况下很难说for@Sayse
request.user.set_password
要使此功能正常运行,用户应该登录,还是我搞错了?不应该允许用户更改未登录用户的密码,当然可以。@AKS-如果不是登录用户,那么你就建了一个巨大的后门。你所要做的就是发布包含用户名、电子邮件和任何你能轻易记住的密码的数据,并且你已经为你想要的人更改了密码。