第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python之flask應(yīng)用的一些疑問

python之flask應(yīng)用的一些疑問

開滿天機 2019-02-18 08:21:36
學(xué)習(xí)flask過程中,遇到一個奇怪的問題,可能是自己學(xué)藝不精吧,希望高手指正 # 視圖函數(shù) class ShuBook: isbn_url = 'http://t.yushu.im/v2/book/isbn/{}' keyword_url = 'http://t.yushu.im/v2/book/search?q={}&count={}&start={}' @classmethod def search_by_isbn(cls,isbn): url = cls.isbn_url.format(isbn) print(locals()) result = HTTP.get(url) # result是dict格式的 json會被轉(zhuǎn)化為字典 這里沒有傳遞第二個參數(shù),就會采用默認的 print(locals()) #------------------------ return result @classmethod def search_by_keyword(cls,keyword,count=15,start=0): url = cls.keyword_url.format(keyword,count,start) result = HTTP.get(url) return result # 自己的HTTP模塊 import requests class HTTP: @staticmethod def get(self, url, return_json = True): r = requests.get(url) # restful API # json if r.status_code != 200: return {} if return_json else '' return r.json() if return_json else r.text 程序提示錯誤get() missing 1 required positional argument: 'url'我這里第二個參數(shù)不設(shè)置的話應(yīng)該自動套用 我設(shè)置的默認參數(shù)return_json = True,這個是什么緣故呢?謝謝指正
查看完整描述

4 回答

?
回首憶惘然

TA貢獻1847條經(jīng)驗 獲得超11個贊

def search_by_isbn(cls,isbn):
        url = cls.isbn_url.format(isbn)
        print(locals())
        result = HTTP.get(url)   
        print(locals())  
        return result   # 這里產(chǎn)生的是dict,需要解析成json返回,某則不能讀取

折騰了好幾天的問題,還是敗在了基礎(chǔ)薄弱上,謝謝大家的耐心解答讓我理清了思路,謝謝
綜合前面幾個高手的結(jié)論,我發(fā)現(xiàn)了自己的問題,所以投票還是給自己吧.........免得得罪人

查看完整回答
反對 回復(fù) 2019-03-01
?
料青山看我應(yīng)如是

TA貢獻1772條經(jīng)驗 獲得超8個贊

報錯說的是url參數(shù)少了,不是return_json少了。
你get()調(diào)用的時候傳進url了么?

查看完整回答
反對 回復(fù) 2019-03-01
?
翻過高山走不出你

TA貢獻1875條經(jīng)驗 獲得超3個贊

你的 HTTP 類中的函數(shù)使用了靜態(tài)函數(shù)的裝飾器,那么你的 get() 函數(shù)里的參數(shù),有一個 self,這個參數(shù)是需要你自己輸入。你單獨調(diào)用了url,那么調(diào)用的過程就是 get(self=url, url, return_json = True),所以會報錯,缺少url的賦值

查看完整回答
反對 回復(fù) 2019-03-01
?
滄海一幻覺

TA貢獻1824條經(jīng)驗 獲得超5個贊

HTTP類中g(shù)et方法是靜態(tài)方法,不需要self參數(shù)

class HTTP:
    @staticmethod
    def get(url, return_json = True):  # 沒有self參數(shù)
        r = requests.get(url)
        # restful API
        # json
        if r.status_code != 200:
            return {} if return_json else ''
        return r.json() if return_json else r.text   
查看完整回答
反對 回復(fù) 2019-03-01
  • 4 回答
  • 0 關(guān)注
  • 538 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號