您的数据库应该是这样的,以便注册from 和to
mdoels.py
class ClassModel(models.Model):
xfrom = models.DateField(blank=True,null=True)
to = models.DateField(blank=True,null=True)
forms.py
from django import forms.
class DateForm(forms.Form):
xfrom = forms.DateField(input_formats = ['%m/%d/%Y'])
to = forms.DateField(input_formats = ['%m/%d/%Y'])
views.py
from .forms import DateForm
from .models import ClassModel
def dateView(request):
form = DateForm(request.POST or None)
if request.method == 'POST':
if form.is_valid():
xfrom = form.cleaned_data.get('xfrom')
to = form.cleaned_data.get('to')
cl = ClassModel.objects.create(xfrom=xfrom,to=to)
context = ( { 'form':form } )
return render(request,'template_name.html',context)
template_name.html
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<form action="" method="post">{% csrf_token %}
<label for="id_xfrom">From</label>
{{form.xfrom}}
<label for="id_to">to</label>
{{form.to}}
<button type='submit'>Submit</button>
</form>
js
$( function() {
var dateFormat = "mm/dd/yy",
from = $( "#id_from" )
.datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3
})
.on( "change", function() {
to.datepicker( "option", "minDate", getDate( this ) );
}),
to = $( "#id_to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3
})
.on( "change", function() {
from.datepicker( "option", "maxDate", getDate( this ) );
});
function getDate( element ) {
var date;
try {
date = $.datepicker.parseDate( dateFormat, element.value );
} catch( error ) {
date = null;
}
return date;
}
});