我想在输入标签的模板中设置minlength和maxlength

时间:2017-10-13 06:48:50

标签: python html django

我在index.html中写道



    <div class="heading col-lg-6 col-md-12">
                    
            <h2>New account registration</h2>
        
            <form class="form-horizontal" action="regist_save/" method="POST">
                    
              <div class="form-group-lg">
                    
                <label for="id_username">username</label>
                
                    {{ regist_form.username }}
                    
              </div>
                    
                    
              <div class="form-group-lg">
                    
                <label for="id_email">email</label>
                
                     {{ regist_form.email }}
              </div>   
              <div class="form-group-lg">
                    
                <label for="id_password">password</label>
                    
                 {{ regist_form.password1 }}
                    
              </div>
                    
                    
              <div class="form-group-lg">
                <label for="id_password">password(conformation)</label>
                    
                 {{ regist_form.password2 }}
                 <p class="help-block">{{ regist_form.password2.help_text }}</p>
                    
              </div>
                    
                    
              <div class="form-group-lg">
                <div class="col-xs-offset-2">
                <button type="submit" class="btn btn-primary btn-lg">SUBMIT</button>
                    
                <input name="next" type="hidden"/>
                    
                </div>
              </div>
              {% csrf_token %}
                    
            </form>
                    
    </div>
&#13;
&#13;
&#13;

我想在用户名和密码输入标签的模板中设置minlength和maxlength。如果我在html stye中写道,它是

&#13;
&#13;
<form class="form-horizontal" action="regist_save/" method="POST">
                    
              <div class="form-group-lg">
                    
                <label for="id_username">username</label>
                
     <input id="id_username" name="username" type="text" value="" minlength="5" maxlength="12" placeholder="username" class="form-control">               
              </div>
                    
                    
              <div class="form-group-lg">
                    
                <label for="id_email">email</label>
                
                     {{ regist_form.email }}
              </div>   
              <div class="form-group-lg">
                    
                <label for="id_password">password</label>
                    
                 <input id="id_password1" name="password1" type="password1" value="" minlength="8" maxlength="12" placeholder="password1" class="form-control">  
              </div>
                    
                    
              <div class="form-group-lg">
                <label for="id_password">password(conformation)</label>
                    
                 <input id="id_password2" name="password2" type="password2" value="" minlength="8" maxlength="12" placeholder="password2" class="form-control">  
                 <p class="help-block">{{ regist_form.password2.help_text }}</p>
                    
              </div>
                    
                    
              <div class="form-group-lg">
                <div class="col-xs-offset-2">
                <button type="submit" class="btn btn-primary btn-lg">SUBMIT</button>
                    
                <input name="next" type="hidden"/>
                    
                </div>
              </div>
              {% csrf_token %}
                    
            </form>
                    
&#13;
&#13;
&#13; 在forms.py

class RegisterForm(UserCreationForm):
    class Meta:
        model = User
        fields = ('username', 'email','password1','password1',)
    def __init__(self, *args, **kwargs):
        super(RegisterForm, self).__init__(*args, **kwargs)
        self.fields['username'].widget.attrs['class'] = 'form-control'
        self.fields['email'].widget.attrs['class'] = 'form-control'
        self.fields['password1'].widget.attrs['class'] = 'form-control'
        self.fields['password2'].widget.attrs['class'] = 'form-control'
在views.py中

@require_POST
def regist_save(request):
    regist_form = RegisterForm(request.POST)
    if regist_form.is_valid():
        user = regist_form.save(commit=False)
        password = regist_form.cleaned_data.get('password')
        user.set_password(password)
        user.save()
        login(request, user)
        context = {
            'user': request.user,
        }
        return redirect('detail')

    context = {
        'regist_form': regist_form,
    }
    return render(request, 'registration/regist.html', context)

我想设置用户名minlength =&#34; 5&#34; &安培;最大长度=&#34; 12&#34;和密码minlength =&#34; 8&#34; &安培; maxlength =&#34; 12&#34;。我想把它写在模板中,虽然我在谷歌搜索但我找不到它。我想我可以通过模板来做但我会误解它吗?可以&#39; ti在模板中做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以通过使用具有所需限制的这些属性来设置 maxlength minlength ,并且验证将相应地运行

Working example on W3schools