Django DateInput विजेट कुछ सादा पाठ इनपुट प्रदान नहीं करता है। हालांकि यह विभिन्न प्रारूपों के खिलाफ उपयोगकर्ता के इनपुट को मान्य करता है, इसलिए यह बेकार नहीं है।
अधिकांश लोग Django Admin इंटरफ़ेस में दिनांक पिकर के रूप में उसी तरह व्यवहार करने की अपेक्षा करेंगे, इसलिए यह निश्चित रूप से थोड़ा उलझन में है।
अपने स्वयं के ऐप्स में AdminDateWidget का उपयोग करना संभव है, लेकिन मैं इसके खिलाफ सलाह दूंगा। इसमें a lot of fiddling around to make it work लगता है।
सबसे आसान समाधान JQuery UI Datepicker जैसे कुछ का उपयोग करना है।सीधे शब्दों में शामिल अपने पृष्ठ के <head>
में निम्नलिखित:
<link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/redmond/jquery-ui.css" rel="Stylesheet" />
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"></script>
फिर तल पर
, आपके इनपुट तत्वों पर Datepicker सक्रिय करने के लिए निम्न पंक्ति डाल:
<script type="text/javascript">
$(function(){
$("#id_birthday").datepicker();
});
</script>
आप कर सकते हैं यह एक छोटे से अधिक सूखी जिसमें आप कस्टम विजेट बनाने के द्वारा कई तिथि खाने अगर अपने forms.py
:
class JQueryUIDatepickerWidget(forms.DateInput):
def __init__(self, **kwargs):
super(forms.DateInput, self).__init__(attrs={"size":10, "class": "dateinput"}, **kwargs)
class Media:
css = {"all":("http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/redmond/jquery-ui.css",)}
js = ("http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js",
"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js",)
प्रत्येक तिथि क्षेत्र निर्दिष्ट करें अपने च में इस विजेट का उपयोग करना चाहिए ORMS:
birthday = forms.DateField(label="Birthday", widget=JQueryUIDatepickerWidget)
और अपने खाके में, <head>
में निम्नलिखित शामिल हैं:
{{form.media}}
और पृष्ठ के तल पर निम्नलिखित डालकर सभी क्षेत्रों के लिए Datepicker सक्रिय करें:
<script type="text/javascript">
$(function(){
$(".dateinput").datepicker();
});
</script>
क्या आप स्पष्टीकरण दे सकते हैं? क्या पूरा फॉर्म प्रतिपादन नहीं कर रहा है, या सिर्फ डेटटाइम फ़ील्ड है? – David
रूपों और 'इनपुट' प्रकट होते हैं। इसका कैलेंडर विजेट जो नहीं करता है। – Tom
जब मैंने डेटइनपुट विजेट पढ़ा तो मुझे भी एक ग्राफिकल दिनांक पिकर नियंत्रण की उम्मीद थी (जैसे django व्यवस्थापक में)। हालांकि, मुझे लगता है कि यह सिर्फ एक सादा पाठ बॉक्स है। सहज ज्ञान युक्त आईएमओ नहीं। – User