您好,登錄后才能下訂單哦!
這篇文章主要講解了“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的原因及解決方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。