1. 程式人生 > >django框架中表單資料向後臺提交

django框架中表單資料向後臺提交

一、前端構建表單,為每個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%" onclick="registerid_submit()">註冊</button>
        </div>
         <!--<div  class="row" style="text-align: center"><span id="regresponse"></span> &nbsp;&nbsp;<a id="regresponse1" style="margin-top:15px" onclick="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 儲存資料的函式進行資料儲存