- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我的 Django 站点制作一个编辑帐户页面。我正在尝试使用我的注册表格并稍作修改,因为信息基本上都是一样的。我遇到的问题是当用户单击更新时,django 甚至会检查唯一的用户名,如果用户名相同,则返回以下错误。如果他们不更改它,它应该检查字段值是否等于登录的用户名并跳过它。
"User with this Username already exists"
到目前为止,我已经覆盖了 clean 方法,通过 request.user 传递给表单,并检查登录用户名是否与字段用户名相同。查看其他堆栈溢出问题,似乎人们只是 del self._errors['username'] 但我得到了一个关键错误。 self._errors 甚至没有实例化。我也试过将“Unique”属性设置为 false,但它仍然给我错误。我迷路了,所以任何帮助将不胜感激。
我的表单类:
class updateAccount(forms.ModelForm):
username = forms.CharField(required=True, widget=forms.TextInput(attrs={'placeholder': 'Username'}))
email = forms.EmailField(required=True, widget=forms.TextInput(attrs={'placeholder': 'Email Address'}))
first_name = forms.CharField(max_length=100, required=True, widget=forms.TextInput(attrs={'placeholder': 'First Name'}))
last_name = forms.CharField(max_length=100, required=True, widget=forms.TextInput(attrs={'placeholder': 'Last Name'}))
class Meta:
model = User
fields = ('username','email','first_name','last_name')
exclude = ('password',)
def __init__(self, *args, **kwargs):
self.request = kwargs.pop("request")
super(updateAccount, self).__init__(*args, **kwargs)
def clean(self):
if self.request.user.username == self.cleaned_data.get('username'):
self.fields['username'].required = False
super(updateAccount, self).clean()
return self.cleaned_data
def save(self, commit=True):
user = super(updateAccount, self).save(commit=False)
if commit:
user.save()
return user
最佳答案
改用内置的 UserChangeForm
。
表单.py
from django.contrib.auth.forms import UserChangeForm
from django.contrib.auth.models import User
class MyUserChangeForm(UserChangeForm):
def __init__(self, *args, **kwargs):
super(MyUserChangeForm, self).__init__(*args, **kwargs)
del self.fields['password']
class Meta:
model = User
fields = ('username','email','first_name','last_name')
View .py
def home(request):
if request.method == 'POST':
form = MyUserChangeForm(request.POST, instance=request.user)
if form.is_valid():
form.save()
else:
form = MyUserChangeForm(instance=request.user)
return render(request, 'change_user.html', {"form": form})
关于Django 用户帐户更新 - 忽略 "User with this Username already exists",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20171662/
这是我第一次使用 php 学习 session ,我正在尽可能地制作最简单的登录页面。 因此,只要用户永远不会关闭网页,理论上这是否可以让任何给定的字符串 $username 始终存储在 $_SESS
我已在Windows 10中更改了用户名,现在我需要自动将更改后的用户名作为Powershell脚本获取 但是我尝试的所有操作都返回了我的旧用户名,除了一些与AD相关的查询。 例子: $env
我的 html 页面上有这个链接,可以在特定用户上打开 Instagram 应用程序: Link to Instagram Profile 我一直在寻找自动运行 url 'instagram://us
此代码似乎不适用于 Windows 7/8? Public Function UserName() UserName = Environ$("UserName") End Function 有
Excel宏:如何编写此“如果用户名[示例代码:Environ(“用户名”)]等于此范围内的值之一[示例:我从工作簿创建的范围:范围(“Authorized_Users”)]然后。 ..“谢谢! 最佳
PowerShell的$env:username有什么区别和 [environment]::username和 为什么他们可能会返回不同的用户 ? (我知道还有其他方法可以获取当前用户) 一些背景:
与大多数网站的工作方式相同,我将“UsErNaMe”存储在数据库中,但让用户使用“用户名”登录。 这是一个相当明显且必要的功能,很多人似乎都问过它,但我不断遇到的解决方案似乎与 Devise 自己的文
在终端中输入 psql 后,用户通常会以 username=# 的形式出现在控制台中。但后来我注意到它说username-#,其中等号被连字符替换,但它似乎仍然以相同的方式执行。 我知道这是一个简单的
在终端中输入 psql 后,用户通常会以 username=# 的形式出现在控制台中。但后来我注意到它说username-#,其中等号被连字符替换,但它似乎仍然以相同的方式执行。 我知道这是一个简单的
这个问题已经有答案了: Reference - What does this error mean in PHP? (38 个回答) 已关闭 5 年前。 我是 PHP 的初学者,我一整天都在尝试修复这
我正在尝试从表 users 中取出 url 并将其插入到表 images 的 url> 来自当前登录的用户。此代码无法在 images 表中插入 url。 $uploaduser = $_SESSIO
我很难让 WebDriver 在 PayPal 网站的用户名框中键入内容。我已经尝试过 xpath、id、css,但这里一定有我遗漏的东西,因为它应该很简单。文本框是代码最底部的 input = "e
我正在使用 iOs 社交框架从某个用户那里检索 facebook 提要。为此,在进行身份验证后,我将执行以下操作: NSURL *requestURL = [NSURL URLWithString:@
我有一个 WCF web 服务托管在 IIS 中。这是相同的配置: 当我尝试在我的 WinForms 客户端中使用此特定服务(作为服务引用添加时)时,它会抛出此异常: The username is
def login_page(request): form = LoginForm(request.POST or None) context = { "form":
更新我想我很快就假设了 voodoo jquery 之谜。我注意到我确实使用了两次“用户名”ID,这就是问题所在。第二个用户名 id 是通过从 php 注入(inject)页面的 html 代码添加到
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
到目前为止,下面显示的第一个 $sql = “INSERT INTO MySQLtable 语句将插入一个包含静态文本的新行 VALUES ('statictext', 'statictext') 。
我几乎完成了我的大型项目的开发,但是如果我能做到而不是让用户配置文件页面位于:http://example.com/profile/username/USERNAME<,我会很高兴 (我目前正在使用
(注意我是 Scala 的新手,仍然在为集合操作的最常见操作而苦苦挣扎。) 我想将 List[Task] 转换为 Map。以下是一些详细信息: // assignee may be null case
我是一名优秀的程序员,十分优秀!