Здравствуйте! Помогите пожалуста с отображением собственного виджета. Хочу к полю с выбором даты добавить календарь, но он не появляется при выборе этого поля.
forms.py:
from django.forms import ModelForm
from models import Info
from django import forms
class CalendarWidget(forms.TextInput):
class Media:
css = {
'all': ('static/css/jquery-ui-1.8.10.custom.css',),
}
js = ("http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js",
"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js",
)
class EditMyInfoForm(ModelForm):
class Meta:
model = Info
fields = ['name', 'surname', 'date_of_birth', 'bio', 'contacts']
widgets = {'date_of_birth':CalendarWidget(),}
Затем добавляю {{form.media}} к странице формы:
{% extends "base.html" %}
{% load staticfiles %}
{% block content %}
<h3><a href ="/">Main page</a></h3>
<script type="text/javascript">
jQuery(function() {
var form = jQuery("#myForm");
form.submit(function(e) {
jQuery("#sendbutton").attr('disabled', true)
jQuery("#sendwrapper").prepend('Loading...<img src="{% static 'static/images/ajax-loader.gif' %}" />')
jQuery("#ajaxwrapper").load(
form.attr('action') + ' #ajaxwrapper',
form.serializeArray(),
function(responseText, responseStatus) {
jQuery("#sendbutton").attr('disabled', false)
jQuery("#sendwrapper").hide();
}
);
e.preventDefault();
});
});
</script>
{{form.media}}
<form id="myForm" action="" method="post">
<div id="ajaxwrapper">
{% csrf_token %}
{{ form.non_field_errors }}
{{ form.as_p }}
</div>
<p id="sendwrapper"><input type="submit" value="save" id="sendbutton"/></p>
</form>
{% endblock %}