将占位符字段添加到基本的 UserCreation Django 注册表单
Posted
技术标签:
【中文标题】将占位符字段添加到基本的 UserCreation Django 注册表单【英文标题】:Add placeholder field to basic UserCreation Django sign up form 【发布时间】:2018-08-07 03:06:10 【问题描述】:我对 Django 还很陌生,我已经设置了一个带有一些附加字段的注册表单。
在我的 forms.py 文件中,我有以下代码:
class SignUpForm(UserCreationForm):
first_name = forms.CharField(max_length=30, required=False, help_text='Optional.')
last_name = forms.CharField(max_length=30, required=False, help_text='Optional.')
email = forms.EmailField(max_length=254, help_text='Required. Inform a valid email address.')
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email', 'password1', 'password2', )
在我的views.py中我有以下代码:
def signup(request):
if request.method == 'POST':
form = SignUpForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
raw_password = form.cleaned_data.get('password1')
user = authenticate(username=username, password=raw_password)
login(request, user)
return redirect('index')
else:
form = SignUpForm()
return render(request, 'signup.html', 'form': form)
然后在我的 signup.html 视图中呈现以下内容:
<form method="post">
% csrf_token %
% for field in form %
<p>
field.label_tag <br>
field
% for error in field.errors %
<p style="color: red"> error </p>
% endfor %
</p>
% endfor %
<button class="btn-contact" type="submit">Let's Go!</button>
</form>
基本上我想要做的是在每个字段中添加占位符文本,但这并不是我设置的方式。
为此,我需要对表单字段进行更多控制,但由于我在循环中呈现字段的方式,我不知道该怎么做。
我该怎么做呢?
【问题讨论】:
***.com/a/23983577/2282638 @SandeepBalagopal 我看不到在我的项目中应用链接示例的位置。 您必须覆盖表单的 init 方法。并应用占位符。它将显示在您的模板中。 这个链接的帖子帮助我解决了这个问题***.com/questions/13523286/… 【参考方案1】:对于占位符,请看How do I add a placeholder on a CharField in Django?
我必须给你的一个好建议是,你不应该手动渲染表单,因为 Django 有机制可以很好地做到这一点(比如 form.as_p
在你的例子中)。见Working with forms。
【讨论】:
以上是关于将占位符字段添加到基本的 UserCreation Django 注册表单的主要内容,如果未能解决你的问题,请参考以下文章
如何将占位符颜色属性添加到 xamarin 表单中的自动完成字段?