2012-05-14 18 views
15

मैं अपने फॉर्मूलेरी पर कुछ डेटफिल्ड के साथ एडमिन विजेट्स का उपयोग करने की कोशिश कर रहा हूं, लेकिन उनमें से केवल पहले विजेट को सही तरीके से प्रदर्शित किया जाता है, दूसरे के लिए मुझे एक त्रुटि मिलती है:Uncaught ReferenceError: django को परिभाषित नहीं किया गया है

DateTimeShortcuts.js:205 Uncaught ReferenceError: django is not defined

(लाइन संकेत दिया है:

django.jQuery(document).bind('keyup', function(event) { 

)

यहाँ मेरी टेम्पलेट सिर है:

<head> 
{% load adminmedia %} 
<link rel="stylesheet" href="/static/css/main.css" /> 
<script type="text/javascript" src="/admin/jsi18n/"></script> 
<script type="text/javascript" src="/static/admin/js/core.js"></script> 
<script type="text/javascript"> 
    window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}"; 
</script> 
<link rel="stylesheet" type="text/css" href="/static/admin/css/forms.css"/> 
<link rel="stylesheet" type="text/css" href="/static/admin/css/base.css"/> 
<!-- <link rel="stylesheet" type="text/css" href="/static/admin/css/global.css"/> --> 
<link rel="stylesheet" type="text/css" href="/static/admin/css/widgets.css"/> 
{{ form.media }}... 

मेरे मॉडल क्षेत्रों:

start_date = models.DateField() 
end_date = models.DateField() 

और मेरे प्रपत्र वर्ग:

class UserForm(ModelForm): 
    start_date = forms.DateField(
     widget=widgets.AdminDateWidget 
     ) 
    end_date = forms.DateField(
     widget=widgets.AdminDateWidget 
     ) 
    class Meta: 
     model = User 

मैं इसे नियम प्रतिपादन किसी तरह का अनुमान है, लेकिन मैं पूरी तरह से उलझन में हूँ। किसी भी मदद का स्वागत है!

+1

क्या आपने दस्तावेज़ों में वर्णित 'मीडिया' कक्षा के माध्यम से फ़ॉर्म के मीडिया को शामिल करने का प्रयास किया है? https://docs.djangoproject.com/en/dev/topics/forms/media/#s-media-as-a-static-definition –

उत्तर

29

django.jQuerydjango/contrib/admin/static/admin/js/jquery.init.js में परिभाषित किया गया है और django/contrib/admin/static/admin/js/jquery.js पर निर्भर करता है। आप इसके अलावा ModelAdmin की media संपत्ति की जाँच your form media

में उन फ़ाइलों को अपने टेम्पलेट सीधे

<script type="text/javascript" src="/static/admin/js/jquery.min.js"></script> 
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script> 

में उन लोगों के जे एस फ़ाइलें लोड या शामिल करने के लिए की जरूरत है।

+0

ध्यान दें कि Django के हाल के संस्करणों में, jQuery 'विक्रेता/jquery/jquery.min.js' के बजाय jquery.js'। –

+0

दरअसल, Django 1.11 में फ़ाइल पूरी तरह से साथ ही साथ संशोधित संस्करण में 'विक्रेता/jquery' पर स्थित है। (Https://github.com/django/django/blob/master/django/contrib/admin/options.py#L582 देखें) –

संबंधित मुद्दे