将占位符字段添加到基本的 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 表单中的自动完成字段?

将占位符文本添加到文本字段时,iOS 7 中的应用程序崩溃

django 将占位符文本添加到表单字段

如何将类、id、占位符属性添加到 django 模型表单中的字段

如何将标签添加到 textField 类或动画占位符

将占位符添加到 UITextField,如何以编程方式快速设置占位符文本?