Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Django表单中使用引导电话输入_Javascript_Python_Django_Twitter Bootstrap_Django Forms - Fatal编程技术网

Javascript 在Django表单中使用引导电话输入

Javascript 在Django表单中使用引导电话输入,javascript,python,django,twitter-bootstrap,django-forms,Javascript,Python,Django,Twitter Bootstrap,Django Forms,我正在尝试合并来自引导的电话输入,如下所示: 我想在Django表单中使用它,但由于某些原因它不起作用。这是我的相关代码: forms.py class InstructorForm(forms.ModelForm): home_phone = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control bfh-phone'}), max_length=128, label="Home Phone")

我正在尝试合并来自引导的电话输入,如下所示:

我想在Django表单中使用它,但由于某些原因它不起作用。这是我的相关代码:

forms.py

class InstructorForm(forms.ModelForm):
    home_phone = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control bfh-phone'}), max_length=128, label="Home Phone")
    work_phone = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control bfh-phone'}), max_length=128, label="Work Phone")
    cell_phone = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control bfh-phone'}), max_length=128, label="Cell Phone")
    fax = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control bfh-phone'}), max_length=128, required=False, label="Fax")
添加新的讲师.html

<form id="instructor_form" method="post" action="/schedule/add_new_instructor/">
    {% csrf_token %}
    <div class="row">
        {% for field in form %}
            <div class="col-gl-4 col-md-4">
                <div class="form-group">
                    <strong>{{ field.errors }}</strong>
                    {{ field.label_tag }}
                    {{ field.help_text }}
                    <br>
                    {{ field }}
                    <script></script>
                </div>
            </div>
        {% endfor %}
    </div>
    <button type="submit" name="submit">Add New Instructor</button>
<button type="submit" name="submit">Reset</button>
</form>
{% endblock %}

{% block custom_javascript %}
    <script>

        $(document).ready(function()
            {
                $('#id_home_phone').attr("data-format", "+1 (ddd) ddd-dddd");
                $('#id_work_phone').attr("data-format", "+1 (ddd) ddd-dddd");
                $('#id_cell_phone').attr("data-format", "+1 (ddd) ddd-dddd");
                $('#id_fax').attr("data-format", "+1 (ddd) ddd-dddd");
            }
        );

    </script>
{% endblock %}

当我尝试迁移这个模型时,带有电话号码的字段需要一个默认值,我必须输入null=True,即使它们是CharFields,并且其他CharFields都没有这个问题。也许这与它为什么不工作有关?

请右键单击呈现的页面并选择“查看页面源”。然后,将这个(整个HTML)复制粘贴到您的问题中,以便更好地查看?源代码非常长,因为有一大堆我没有提到的无关内容。为什么要用jQuery设置
数据格式
?将它们移动到Django表单小部件属性。如果它很长,那么只需复制粘贴相关部分即可。头部和头部。
class Instructor(models.Model):
    first_name = models.CharField(max_length=128)
    last_name = models.CharField(max_length=128)
    email = models.EmailField(max_length=254, validators=[validate_email])
    street = models.CharField(max_length=128)
    city = models.CharField(max_length=128)
    state = USStateField(choices=STATE_CHOICES, default="NJ")
    zipcode = USZipCodeField(blank=True)
    #points of interest
    home_phone = models.CharField(max_length=128)
    work_phone = models.CharField(max_length=128)
    cell_phone = models.CharField(max_length=128)
    fax = models.CharField(max_length=128)
    #end points of interest
    course = models.CharField(max_length=128)
    type = models.CharField(max_length=128, choices=TYPE_CHOICES)
    status = models.CharField(max_length=128, choices=INSTRUCTOR_STATUS_CHOICES)
    description = models.TextField()