【问题标题】:I wanna set minlength&maxlength in template of input tag我想在输入标签的模板中设置 minlength&maxlength
【发布时间】:2018-03-25 05:49:21
【问题描述】:

我在 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>

我想在用户名和密码输入标签的模板中设置最小长度和最大长度。如果我用html stye写,那就是

<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>
                    
在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="5" &maxlength="12" 和密码 minlength="8" & maxlength="12"。我想把它写在模板中,虽然我在谷歌中搜索过但我找不到它.我想我可以通过模板来做,但我误解了吗?我不能在模板里做吗?

【问题讨论】:

  • 要设置 minlength 和 maxlength,您必须使用值设置这些属性,并且验证将相应地工作

标签: python html django


【解决方案1】:

您可以通过使用这些属性来设置 ma​​xlengthminlength 以及所需的限制,验证将相应地进行

Working example on W3schools

【讨论】:

  • 谢谢你的 cmets。我不明白我应该如何结合 Django 模板和输入标签。我应该怎么做?
  • 现在这是你的仪式问题。发布相同的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-08
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
相关资源
最近更新 更多