這是django開(kāi)發(fā)學(xué)生選課系統(tǒng)的最后一篇了,上一篇結(jié)束,我們已經(jīng)知道如何選課(向數(shù)據(jù)庫(kù)里面寫(xiě)數(shù)據(jù))。
這一篇需要講解老師門(mén)戶的成績(jī)錄入,相當(dāng)于對(duì)已經(jīng)存在score表的具有sno(學(xué)號(hào))與cno(課程號(hào))的記錄,但是還未有或者已有cscore(成績(jī))的數(shù)據(jù),可以按需進(jìn)行修改。至于其他頁(yè)面,基本上都是向數(shù)據(jù)庫(kù)里面做查詢而已,就不再一一展開(kāi)敘述了。
需求分析:
1)老師點(diǎn)擊按鈕之后,可以彈層。
2)彈層后,會(huì)自動(dòng)展示當(dāng)前已有的分?jǐn)?shù),可以對(duì)其修改。
3)修改的分?jǐn)?shù),會(huì)進(jìn)行是否在0~100分之間的判斷,不在有效范圍內(nèi)會(huì)報(bào)錯(cuò)。
1、編寫(xiě)彈層JS
與上一篇一樣,需要將錄入的內(nèi)容,通過(guò).post函數(shù)返回到后端業(yè)務(wù)邏輯處理。
最大的區(qū)別,是onshow處,使用
edit_score_js(cscore,sno,cno)?{ ????d?=?dialog({ ????????????width:?, ????????????title:?, ????????????quickClose:?, ????????????content:?+ ????????????????+ ????????????????+ ????????????????+ ????????????????+ ????????????????+ ????????????????+ ????????????????+ ????????????????+ ????????????????, ????????????ok:?()?{ ????????????????($().val()?<||?$().val()?>){ ????????????????????alert() ????????????????}{ ????????????????????$.post(,{ ????????????????????:$().val(), ????????????????????:sno, ????????????????????:cno, ????????????????},(res)?{ ????????????????????(res.result){ ????????????????????????alert(); ????????????????????} ????????????????},) ????????????????window.location.reload(); ????????????????} ????????????}, ????????????cancelValue:?, ????????????cancel:?()?{ ????????????????console.log() ????????????????}, ????????????onshow:?()?{ ????????????????$().val(cscore) ????????????} ????????}); ????????d.show(); }
獲取了頁(yè)面里面的成績(jī),然后在彈層的content里面展示。
2、編寫(xiě)后端業(yè)務(wù)邏輯
(==) (request): ????username?=?request.session.get() ????data?=?teacher.objects.filter(=username).values() ????data ????render_to_response(()) (request): ????=?request.session.get() ????cno?=?request.POST.get() ????sno?=?request.POST.get() ????scored?=?request.POST.get() ????score.objects.filter(=cno=sno).update(=scored) ????JsonResponse({:})
3、前端內(nèi)容與綁定按鈕
CSS與JS引用略,然后將按鈕onclick綁定函數(shù)。
成績(jī)錄入課程號(hào)課程名學(xué)生姓名成績(jī)編輯{%?for?i?in?data?%} ?????????????????{{?i.course__cno?}}{{?i.course__cname?}}{{?i.course__score__sno__sname?}}{{?i.course__score__cscore?}}{%?endfor?%}
最終效果:點(diǎn)擊修改按鈕彈層,并且彈層內(nèi)會(huì)顯示當(dāng)前分?jǐn)?shù)。
輸入超過(guò)0~100的分?jǐn)?shù),會(huì)報(bào)錯(cuò)提示
輸入0~100以內(nèi)分?jǐn)?shù),修改成功。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
