報錯的源代碼為:
#接收請求數據 def search(request): request.encoding = 'utf-8' if 'q' in request.GET: message = '你搜索的內容為: ' +request.GET['q'].encode('utf-8') else: message = '你提交了空表單' return HttpResponse(message)
代碼中標紅的位置可以看到使用了encode函數進行了轉碼,因為encode轉碼返回的是bytes類型的數據,不可以和str類型的數據直接相加。
由於函數的第一句已經對request請求進行的轉碼,所以這里我們將后面的encode函數去掉,錯誤即可解決。
更新后的代碼為:
#接收請求數據 def search(request): request.encoding = 'utf-8' if 'q' in request.GET: message = '你搜索的內容為: ' +request.GET['q'] else: message = '你提交了空表單' return HttpResponse(message)