我已经看过关于这个主题的所有问题,但我无法解决我的问题,我的错误是:“TypeError:$(...)。datepicker不是函数”
这是我的代码:
HTML
.....
<script type="text/javascript" src="{{ STATIC_URL }} /static/bootstrap/js/jquery-1.11.3.min.js">
</script>
<link rel="stylesheet" type="text/css" href="/static/bootstrap/css/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="/static/bootstrap/css/estilo.css">
<script type="text/javascript" src="{{ STATIC_URL }} /static/bootstrap/js/jquery-ui.js">
</script>
<script type="text/javascript">
$(document).ready(function() {
$('.datepicker').datepicker();
});
</script>
<div class="form-group">
<label for="nacimiento" class="control-label col-md-2">Nacimiento:</label>
<div class="col-md-8">
<input class="form-control" id="datepicker" name="nacimiento" type="text" />
</div>
</div>
....
在html代码中我拥有所有表单以及让页面运行的所有内容...我只是复制了Datepicker的重要代码
views.py
def registrarpaciente(request):
if request.POST:
form = PacienteForm(request.POST)
if form.is_valid():
mydate = form.cleaned_data('data_input') #I have agree this codeline just recently by looking another questions
form.save()
return render_to_response('ABME/Notificaciones/pregistrado.html')
else:
form = PacienteForm()
args = {}
args.update(csrf(request))
args['form'] = form
return render_to_response('ABME/Paciente/registrarpaciente.html', args)
form.py
from django import forms
from aplicacion.models import *
from functools import partial
DateInput = partial(forms.DateInput, {'class': 'datepicker'})
class PersonaForm(forms.ModelForm):
class Meta:
model = Persona
exclude=()
class PacienteForm(forms.ModelForm):
class Meta:
model = Paciente
data_input = forms.DateField(widget=forms.DateInput(attrs={'class':'datepicker'}))
exclude=()
我不知道如果我没有正确调用小部件或其他东西,脚本被调用,我已经在firebug中检查过,这不是问题.. plz help!
答案 0 :(得分:0)
文件可能不存在。
试试这个。
{% load static %}
<script src="{% static 'bootstrap/js/jquery-ui.js' %}"></script>
该文件需要权限
答案 1 :(得分:0)
如果您的data_input字段是模型字段,请使用:
class PacienteForm(forms.ModelForm):
class Meta:
model = Paciente
exclude=()
widgets = {
'data_input': forms.DateInput(attrs={'class': 'datepicker', 'id': 'data_input'})
}
如果它不是模型字段,请使用:
class PacienteForm(forms.ModelForm):
data_input = forms.DateField(widget=forms.DateInput(attrs={'class':'datepicker'}))
class Meta:
model = Paciente
exclude=()
答案 2 :(得分:0)
尝试在html中包含这个:
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
答案 3 :(得分:0)
使用Bootstrap DateTime Picker而是指定此格式。请检查以下代码。
$('id/class name').datetimepicker({
minDate: new Date(),
locale: 'en',
format: 'MM/DD/YYYY'
});
答案 4 :(得分:0)
只是为了其他寻求答案的人的利益。
如果您只需要一个基本的日期选择器而不热衷于 js 或 jquery,请尝试 DateInput
提供的 django.forms
小部件。这是一个示例代码。
from django.forms import Form, ModelForm, DateField, widgets
from iac.models import Packaging, Purchase, Sale
class AddSaleForm(ModelForm):
class Meta:
model = Sale
fields = '__all__'
exclude = ()
widgets = {
'order_date': widgets.DateInput(attrs={'type': 'date'})
}
使用纯 Form
的示例
class ReportForm(Form):
from_date = DateField(label="From Date", widget=widgets.DateInput(attrs={'type': 'date'}))
to_date = DateField(label="To Date", widget=widgets.DateInput(attrs={'type': 'date'}))
P.S 您需要确保正确设置视图和模板。这是一个适用于 bootstrap
和 django.views
的代码示例。