में एक स्लग मान्य करना मुझे लगता है कि यह regexp या कुछ शामिल करने जा रहा है, लेकिन मैं इसे एक शॉट दे दूंगा। मिनट में, उपयोगकर्ता शीर्षक क्षेत्र में £$(*£$(£@$&£($
जैसा कुछ टाइप करके वेबसाइट तोड़ सकता है, जिसे Django slugify
का उपयोग करके एक स्लग में परिवर्तित किया जाता है।Django
क्योंकि इनमें से कोई भी वर्ण परिवर्तित नहीं किया जा सकता है, Django एक त्रुटि देता है। मेरा सवाल यह है कि, उपयोगकर्ता forms.ValidationError
को बढ़ाने के लिए फॉर्म सत्यापन विधि में क्या रखना चाहिए जब उपयोगकर्ता इस तरह के शीर्षक का उपयोग करता है?
धन्यवाद।
काम करने लगता है। बहुत बहुत धन्यवाद। Clean_field विधि में: यदि re.match ("[a-zA-Z0-9] +", संभावित_slug) == कोई नहीं: रूपों को बढ़ाएं। वैधता त्रुटि ("शीर्षक स्लग्जेबल नहीं है।") – user116170
यह regex नहीं करता है ' slugs में हाइफ़न "-" के बहुत आम उपयोग के लिए टी खाता। इसके अलावा, \ d अनावश्यक है क्योंकि \ w अंकों को भी शामिल करता है। नीचे बेन का जवाब अधिक सही है। – Humphrey
नीचे बेन का उत्तर अधिक सही है। [ए-जेए-जेड 0-9] + न तो अंडरस्कोर और न ही हाइफ़न से मेल खाता है, [\ w \ d] + अंडरस्कोर से मेल खाता है लेकिन हाइफ़न नहीं। –