开发者社区> 问答> 正文

类型错误:python中没有足够的格式字符串参数

它显示了一个类似于TypeError的错误:格式字符串的参数不足,如何解决这个问题。 views.py

def GetMobilefollowpopularnewsproviderTest(request,user_id):
# from django.http import JsonResponse
print "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
if request.method == 'GET':
    # news_provider = request.POST.get("news_provider")
    print user_id
    cursor = connection.cursor()
    queryset = cursor.execute("select news_crawl_newsproviders.news_provider as id, 1 as status from news_crawl_newsproviders join  accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id='%s' union select news_crawl_newsproviders.news_provider, 0 from news_crawl_newsproviders join  accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id!='%s' and news_crawl_newsproviders.news_provider not in(select news_crawl_newsproviders.news_provider as id from news_crawl_newsproviders join  accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id='%s');select news_crawl_newsproviders.news_provider as id, 1 as status from news_crawl_newsproviders join  accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id='%s' union select news_crawl_newsproviders.news_provider, 0 from news_crawl_newsproviders join  accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id!='%s' and news_crawl_newsproviders.news_provider not in(select news_crawl_newsproviders.news_provider as id from news_crawl_newsproviders join  accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id='%s');"%(user_id))
    dict = {}
    dict = dictfetchall(cursor)
    print(dict)
    context = {
        'posts': dict
    }
    return JsonResponse(context, safe=False)
return HttpResponse(status=201)

urls . py

url(r'followpopularnewsprovider/(?P<user_id>\d+)/$', 
 csrf_exempt(views.GetMobilefollowpopularnewsproviderTest), name='popularprovider')

问题来源StackOverflow 地址:/questions/59386158/typeerror-not-enough-arguments-for-format-string-in-python

展开
收起
kun坤 2019-12-25 22:07:12 642 0
1 条回答
写回答
取消 提交回答
  • 在您的queryset中,您有不止一个%s,尽管您一次传递了%(user_id) 您应该以您定义的格式字符串传递所有参数

    cursor.execute("..." % (param1, param2, param3, param4,...))
    
    2019-12-25 22:07:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载