温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Django报错ValueError: invalid literal for int() with base 10的原因及解决方法

发布时间:2021-08-30 11:42:31 来源:亿速云 阅读:709 作者:chen 栏目:编程语言

这篇文章主要讲解了“Django报错ValueError: invalid literal for int() with base 10的原因及解决方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Django报错ValueError: invalid literal for int() with base 10的原因及解决方法”吧!

DJango报错

ERROR:default:Traceback (most recent call last):   File "/data/venv4archer/lib/python3.6/site-packages/django/core/handlers/base.py", line 132, in get_response     response = wrapped_callback(request, *callback_args, **callback_kwargs)   File "/data/venv4archer/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view     return view_func(*args, **kwargs)   File "/data/opt/archer_product_20181019/sql/views.py", line 1123, in modifydatasourceapply     applyusername=datasourceapply.objects.filter(id=int(Datasourceapplyid)).values('user_name') ValueError: invalid literal for int() with base 10: ''

报错原因:

post传送过来的变量为空。

    Datasourceapplyid = request.POST.get("datasourceid", "")     print ('Datasourceapplyid', Datasourceapplyid)      ValueError: invalid literal for int() with base 10: '' [26/Oct/2018 18:39:10] "POST /modifydatasourceapply/ HTTP/1.1" 500 12987 Datasourceapplyid

解决方法:

修复post变量传入。

报错时,var datasourceid = $("#datasource_id").val();写成了var datasourceid = $("#datasourceid").val();,进而导致传输的变量为空值。

  <form method="post" role="form">     {% csrf_token %}     <div class="form-group">       <input type="hidden" class="form-control" id="datasource_id" name="datasourceid"  value={{ datasourceDetail.id }} >     </div>              $("#btn-submitsql").click(function () {                 var datasourceid = $("#datasource_id").val();                 var app_name = $("#app_name").val();                 var env = $("#env").val();                 var db_name = $("#db_name").val();                 var db_privs = $("#db_privs").val();                 var username = $("#username").val();                 var port = $("#port").val();                 var password = $("#password").val();                 var ip_addr = $("#ip_addr").val();                 $.ajax({                     type: "post",                     async: false,                     url: "/modifydatasourceapply/",                     dataType: "json",                     data: {                         datasourceid: datasourceid,                         app_name: app_name,                         env: env,                         db_name: db_name,                         db_privs: db_privs,                         username: username,                         port: port,                         password: password,                         ip_addr: ip_addr                     },

感谢各位的阅读,以上就是“Django报错ValueError: invalid literal for int() with base 10的原因及解决方法”的内容了,经过本文的学习后,相信大家对Django报错ValueError: invalid literal for int() with base 10的原因及解决方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI