【问题标题】:How to format user's input in django forms如何在 django 表单中格式化用户的输入
【发布时间】:2017-12-28 12:27:31
【问题描述】:

如何强制用户输入格式化输入 name.extention

我需要在表单中实现两种格式:

  1. 用户只能输入小写字母(不允许大写字母) 需要 tagName 字段
  2. 对于另一个字段,用户需要把 filename.extentio like ( server.js )需要文件名字段

如何在我的 Django 表单或模板中实现这两个场景

forms.py

from django import forms


class BuildImageForm(forms.Form):
    instances = forms.CharField(max_length=255)
    tagName = forms.CharField(max_length=255)

buildImage.html

<div class="form-group">
      <span class="col-md-1 col-md-offset-2 text-center"><label for="package">Docker Image Tag Name:</label></span>
       <div class="col-md-8">
       <input  type="text" name="tagName"  id="tagName" placeholder="e.g node_image/istiogui" class="form-control" required>
       /div>
      <div class="col-md-8">
       <input  type="text" name="filename"  id="fileName" placeholder="e.g server.js" class="form-control" required>
       /div>
</div>

【问题讨论】:

    标签: python django django-forms django-templates


    【解决方案1】:

    您的表格:

    class BuildImageForm(forms.Form):
        instances = forms.CharField(max_length=255)
        tagName = forms.CharField(max_length=255)
    
    
        def clean_instances(self, *args, **kwargs):
            instances = self.cleaned_data.get("instances").lower()
            return instances
    
        def clean_tagName(self, *args, **kwargs):
            tagName = self.cleaned_data.get("tagName")
            if tagName[-3:] == '.js'
                return tagName
            return ValidationError('Invalid value')
    

    您的看法:

    def your_view(request):
        form = BuildImageForm(request.POST or None)
    
        if request.method == 'POST':
            form = BuildImageForm(request.POST or None)
            if form.is_valid():
                # Or Use in valid form
                item = form.commit(commit=False)
                item.instances = item.instances.lower()
                item.save()
         return ...
    

    【讨论】:

      猜你喜欢
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-17
      • 2019-05-15
      相关资源
      最近更新 更多