如何使用Django将表中的数据保存到数据库?

时间:2019-09-13 16:44:33

标签: javascript python django ajax

我使用Django 2.1和Python 3.7。 我在表中有一些数据:

<table class="table" border="1" id="tbl_posts">
        <thead>
          <tr>
            <th>Name</th>
            <th>Age</th>
          </tr>
        </thead>
        <tbody id="tbl_posts_body">
          <tr id="rec-1">
            <td><span class="sn">1</span>.</td>
            <td><INPUT type="text" name="txt1" value="Name"/></td>
            <td><INPUT type="text" name="txt2" value="0"/></td>
            <td><a class="btn btn-xs delete-record" data-id="1"><i class="glyphicon glyphicon-trash"></i></a></td>
          </tr>
        </tbody>
</table>

用户可以对其进行编辑,并且必须将其保存到Django中的数据库中。 我该怎么做?我是Django的初学者。我可以使用表格或ajax或任何其他建议吗?但我想保留这种结构。

2 个答案:

答案 0 :(得分:2)

您可以执行表单或ajax。只要数据量相对较小(这种形式是),我就不会想到使用<form>上传数据的不利之处。

模板

<form method="post">
    {% csrf_token %}
<table class="table" border="1" id="tbl_posts">
        <thead>
          <tr>
            <th>Name</th>
            <th>Age</th>
          </tr>
        </thead>
        <tbody id="tbl_posts_body">
          <tr id="rec-1">
            <td><span class="sn">1</span>.</td>
            <td><INPUT type="text" name="txt1" value="{{ txt1}}"/></td>
            <td><INPUT type="text" name="txt2" value="{{ txt2}}"/></td>
            <td><a class="btn btn-xs delete-record" data-id="1"><i class="glyphicon glyphicon-trash"></i></a></td>
          </tr>
        </tbody>
</table>
      <input type="submit" value="Submit">

    </form>

视图

def limitless(request):
    template = "limitless.html"
    context = {'txt1': "Name", 'txt2': 0}
    if request.method == 'POST':
        txt1 = request.POST.get("txt1")
        txt2 = request.POST.get("txt2")

        print(txt1 + "  " + txt2)
        #code to add variables to your models can go here
        context = {'txt1' : txt1, 'txt2': txt2}
    return render(request, template, context)

答案 1 :(得分:1)

您可以像这样制作表格:

<form action="" method="post">
        {% csrf_token %}
        <table class="table" border="1" id="tbl_posts">
        <thead>
          <tr>
             <th>Name</th>
             <th>Age</th>
          </tr>
        </thead>
        <tbody id="tbl_posts_body">
           <tr id="rec-1">
                <td><span class="sn">1</span>.</td>
                <td><input type="text" id="id_txt1" name="txt1" value="Name"></td>        
                <td><input type="text" id="id_txt2" name="txt2" value="0"></td>
                <td><a class="btn btn-xs delete-record" data-id="1"><i class="glyphicon glyphicon-trash"></i></a></td>  
          </tr> 
          <tr>
                <td></td>
                <td><input type="submit" value="Submit"></td>
            </tr>
          </tbody>
          </table>
          </form>

请注意, 标记的 name 属性的必须与您定义的字段名称相同模型