一、前端建構表單,為每個input标簽添加name 屬性,設定method,action(前端代碼使用的是bootstrap架構)
<form id="register" action="/memsave/" method="post" style="display: none">
<div class="form-group">
<table class="table">
<tbody>
<tbody>
<tr><td style="line-height: 25px;word-break: keep-all;white-space: nowrap;text-overflow: ellipsis;">真實姓名</td><td colspan="2"><input name="register_name" type="text" style="line-height: 25px;border: none;outline:none" placeholder="請輸入您的名字" required></td></tr>
<tr><td style="line-height: 25px;word-break: keep-all;white-space: nowrap;text-overflow: ellipsis;">聯系方式</td><td ><input name="register_tel" style="line-height: 25px;border: none;outline:none" type="tel" minlength="11" maxlength="11" placeholder="請輸入手機" required></td><td><a style="margin-left: -15px;line-height: 25px;font-size:0.7em;word-break: keep-all;white-space: nowrap;text-overflow: ellipsis;">擷取驗證碼</a></td></tr>
<tr><td style="line-height: 25px;word-break: keep-all;white-space: nowrap;text-overflow: ellipsis;">現在住址</td><td colspan="2"><input name="register_address" type="text" style="line-height: 25px;border: none;outline:none" placeholder="請輸入住址" required></td></tr>
<tr><td style="line-height: 25px;word-break: keep-all;white-space: nowrap;text-overflow: ellipsis;">所屬機關</td><td colspan="2"><input name="register_company" type="text" style="line-height: 25px;border: none;outline:none" placeholder="請輸入公司/學校/企業/機構" required></td></tr>
<tr><td style="line-height: 25px;word-break: keep-all;white-space: nowrap;text-overflow: ellipsis;">密碼設定</td><td colspan="2"><input name="register_pswd" type="password" style="line-height: 25px;border: none;outline:none" placeholder="請輸入密碼" required></td></tr>
<tr><td style="line-height: 25px;word-break: keep-all;white-space: nowrap;text-overflow: ellipsis;">确認密碼</td><td colspan="2"><input name="register_pswd1" type="password" style="line-height: 25px;border: none;outline:none" placeholder="請再一次輸入密碼" required></td></tr>
<tr><td style="line-height: 25px;word-break: keep-all;white-space: nowrap;text-overflow: ellipsis;">常用郵箱</td><td colspan="2"><input name="register_email" type="email" style="line-height: 25px;border: none;outline:none" placeholder="請輸入郵箱" required></td></tr>
<tr><td colspan="3"><input style="border: none" type="radio" name="read" required>已閱讀平台注冊協定并同意注冊 </td></tr>
</tbody>
</table>
<button class="btn btn-success" type="submit" style="margin: 0 20% 0 20%;width: 60%" οnclick="registerid_submit()">注冊</button>
</div>
<!--<div class="row" style="text-align: center"><span id="regresponse"></span> <a id="regresponse1" style="margin-top:15px" οnclick="login()">傳回登入界面</a></div>-->
</form>
二、背景處理資料并存入資料庫當中,存儲成功後return Httprespnse(如有疑問,請前往了解django的通信機制)
#注冊資訊送出,如果成功傳回sucess 如果失敗傳回fial
def mem_save(request):
try:
if request.method=="POST":
user_name = request.POST.get("register_name", None)
telephone = request.POST.get("register_tel",None)
address = request.POST.get("register_address",None)
company = request.POST.get("register_company",None)
pswd = request.POST.get("register_pswd",None)
email = request.POST.get("register_email",None)
database.memRigister(user_name,telephone,address,company,pswd,email)
return render(request, "YRSWKJ2.0/memcontroller.html", {'answer': 'no', "msg": "注冊成功,請點選登入"})
except:
return render(request, "YRSWKJ2.0/memcontroller.html", {'answer': 'no', "msg": "注冊失敗,點選重新注冊"})
送出的資料包含在request請求中,背景擷取資料,調用database.py 存儲資料的函數進行資料存儲