के रूप में अल्पविराम का उपयोग करें, मैं एक देश में उपयोग के लिए एक Django ऐप लिख रहा हूं जहां वे decimal separator के रूप में अल्पविराम का उपयोग करते हैं। मेरे पास एक मॉडल है जिसमें django.db.models.DecimalField
है, और मैं model forms का उपयोग करता हूं। मैं परिणामी फॉर्म फ़ील्ड को अल्पविराम का उपयोग करके कैसे प्रस्तुत कर सकता हूं और उपयोगकर्ता से कॉमा वापस स्वीकार कर सकता हूं?Django फॉर्म को दशमलव विभाजक
jweyrich की advice के बाद, मैं 1.2 Django के लिए Django 1.1 से अपने आवेदन के लिए उन्नत और मेरे settings.py
संपादित निम्नलिखित शामिल करने के लिए है:
LANGUAGE_CODE = 'nb'
LANGUAGES = (
('nb', 'Norwegian'),
)
USE_I18N = True
USE_L10N = True
DECIMAL_SEPARATOR = ','
THOUSAND_SEPARATOR = ' '
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
)
जहां तक मैं देख सकता हूँ, यह सब है कि the documentation कॉल है के लिये। अगर मैं फॉर्म फ़ील्ड पर localization=True
सेट करता हूं तो यह अब फॉर्म के लिए काम करता है। यह न तो model forms और न ही the admin site में काम करता है।
मैंने 1.212 रिलीज से पहले Django ticket और परिणामी Django changeset खोजा। अगर मैं उन्हें सही ढंग से समझ रहा हूं, तो यह वही मामला होता था जब विजेट्स ने स्थानीयकरण को स्वचालित रूप से प्रारूपित किया था, लेकिन इस पैच स्थानीयकरण को फॉर्म फ़ील्ड में localization=True
कीवर्ड पैरामीटर देकर स्पष्ट रूप से चालू किया जाना चाहिए। क्या उनके फॉर्म पर व्यवस्थापक फॉर्म localization=True
सेट करने का कोई तरीका है?
शानदार और सुरुचिपूर्ण समाधान। – scum
मैं इसे एक मिक्सिन बनाना पसंद करूंगा: 'लोकलाइजेशनमिक्सिन (ऑब्जेक्ट): ...' और 'फूफॉर्म (लोकलाइजेशनमिक्सिन, फॉर्म। मॉडेलफॉर्म)', ताकि आप उदाहरण का उपयोग कर सकें। 'FooForm (LocalizationMixin, floppyforms.ModelForm) ' – Webthusiast
क्या होगा यदि आप सीधे मॉडल के लिए स्थानीयकरण सक्षम करना चाहते हैं? मॉडलफॉर्म नहीं केस का उपयोग करें: डेटा पोस्ट करने वाले AJAX HTTP अनुरोध का जवाब देखें, और उस डेटा को एक दशमलव फ़ील्ड वाले मॉडल में उस डेटा को स्टोर करना चाहते हैं (जिसमें अल्पविराम के रूप में अल्पविराम के साथ संख्याएं शामिल हैं)। इसके लिए कोई समाधान नहीं मिल रहा है। – jorgeas80