कृपया मुझे बताओ मैंने क्या गलत किया? लेकिन यह सफलतापूर्वक जावास्क्रिप्ट में एक डेटा बनाया गया है लेकिन मुझे हमेशा यह त्रुटि पायथन में मिलती है:

getVals = list([val for val in Partner_name[:25] if val.isalnum()]) #डोमेन को केवल 12 वर्णों तक सीमित करें लेखन त्रुटि: 'कोई नहीं' वस्तु में कोई विशेषता नहीं है '__getitem__'

def get_db_name(partner_name):
    getVals = list([val for val in partner_name[:25] if val.isalnum()]) #limit the domain to 12 chars only
    result = "".join(getVals).lower()
    if len(result) >= 3:
        return result
    else:
        result = get_random_string(5)
        return result

$(function()
    {
        $("#start_trial").click(function()
        {
            var db_name = $('input').attr('name', 'partner_name').val();

            session.rpc('/saas/createdb', 
            {
                db_name: db_name,
            }).then(function (result) 
            {
                    console.log('DB name ', db_name)
                    console.log("Database created successfully")
                    $("div.spanner-one").addClass("show");
                    $("div.overlay").addClass("show");
                    $("p.one").addClass("show").fadeOut(5000);      
            });
         }
     });

0
Kai Ning 2 फरवरी 2021, 11:41
आप किस पैरामीटर के साथ get_db_name कॉल कर रहे हैं?
 – 
MetallimaX
2 फरवरी 2021, 11:46
नमस्ते @MetallimaX, यह वाला: @http.route('/website_form/', type='http', auth="public", Methods=['POST'], website=True) def website_form( self, model_name, **kwargs): _logger.debug("कस्टम कंट्रोलर को कॉल किया जाता है!") _logger.debug(request.params.get("partner_name")) db_name = get_db_name(request.params.get("partner_name") ) sys_url = get_system_url(db_name, 'custom.com') kwargs.update({"website_url": sys_url["url"]}) res = super(CustomWebsiteFormController, self).website_form(model_name, **kwargs) रिटर्न रेस
 – 
Kai Ning
4 फरवरी 2021, 04:15
सही इंडेंटेशन के लिए कृपया अपना प्रश्न संपादित करें।
 – 
MetallimaX
4 फरवरी 2021, 14:04

1 उत्तर

सबसे बढ़िया उत्तर

त्रुटि आपके पार्टनर_नाम चर से आने की संभावना है, इसलिए आपको इस पर जांच करने की आवश्यकता है:

def get_db_name(partner_name):
    result = ''
    if partner_name:
        getVals = list([val for val in partner_name[:25] if val.isalnum()]) #limit the domain to 12 chars only
        result = "".join(getVals).lower()

    if len(result) >= 3:
        return result
    else:
        result = get_random_string(5)
        return result
0
SDBot 2 फरवरी 2021, 12:56
हैलो @ एसडीबीओटी, जब मैंने अपना जेएस कोड अक्षम कर दिया तो पायथन पक्ष काम करता है। यह वास्तव में भागीदार नाम का डेटा प्राप्त करता है। मुझे नहीं पता कि मैं कहां गलत कर रहा हूं।
 – 
Kai Ning
4 फरवरी 2021, 04:20
यह DevTools Console `POST localhost:8069/website_form/crm.lead 500 (आंतरिक सर्वर) में है ERROR)` यहां मेरे लॉग इन एक्लिप्स में: फाइल "~/controller/main.py", लाइन 167, वेबसाइट_फॉर्म में db_name = get_db_name(request.params.get("partner_name")) फाइल "~/controller/main.py ", लाइन 27, get_db_name getVals = list([val for val in Partner_name[:25] if val.isalnum()]) #डोमेन को केवल 12 वर्णों तक सीमित करें TypeError: 'NoneType' ऑब्जेक्ट में कोई विशेषता नहीं है '__getitem__'
 – 
Kai Ning
4 फरवरी 2021, 05:57
क्या आप त्रुटि से पहले पार्टनर_नाम का मान देखने के लिए डिबग मोड में प्रवेश कर सकते हैं? या त्रुटि से पहले सांत्वना देने के लिए Partner_name प्रिंट करें।
 – 
SDBot
4 फरवरी 2021, 06:17
यह कंसोल लॉग में None कहता है लेकिन मेरे जेएसकोड में सफलतापूर्वक डेटा बनाया गया है। इस img को जांचें jpst.it/2pApW
 – 
Kai Ning
4 फरवरी 2021, 07:21
ठीक है, क्या आपने उपरोक्त कोड का उपयोग किया था? क्योंकि "अगर पार्टनर_नाम:" पार्टनर_नाम को ब्लॉक के अंदर कोई नहीं होने से रोकने के लिए है
 – 
SDBot
4 फरवरी 2021, 08:03