使用django通过按Enter键将数据添加到数据库中

时间:2017-04-09 00:51:09

标签: html django enter

尝试将数据添加到数据库时,我看不出我做错了什么。当我按下提交按钮时,数据库中没有输入任何内容。按下输入键时会发生同样的情况。

这是我的html文件。



<script>
  $(document).keypress(function(event) {
    if (event.keyCode == 13 || event.which == 13) {
      alert('enter key is pressed');
      event.preventDefault();
    }
  });
</script>
&#13;
<div class="col-md-6 col-md-offset-3">
  <form method="POST" action="">
    <p>
      {% csrf_token %}
      <input type="hidden" value="{{post.id}}" />
      <div class="col-xs-16" style="margin: 0; 0;padding: 3%;">
        <label for="inputsm">Oracle</label>
        <input class="form-control input-md" type="text" value="{{ post }}">
        <input type="submit" value="Submit" style="display: none" /> {{ form.body }}
        <button type="submit" value="Submit" class="btn btn-success">Submit</button>
    </p>
    </div>
  </form>
</div>
&#13;
&#13;
&#13; 这是views.py

def post_list(request):
    posts = Post.objects.all()
    category = Category.objects.all()
    context = {
        'posts':posts,
        'cat':category,
    }
    return render(request, 'journal/post_list.html', context)

def add_post(request):
    post = get_object_or_404(Post, pk=pk)
    if request.method == "POST":
        form = PostForm(request.POST or None)
        if form.is_valid():
            post = form.save(commit=False)
            post.save()
            return redirect('post_details', pk=post.pk)
            return render(request, 'journal/post_list.html', {'post': post})

    else:
        form = PostForm()
    context = {
        "form": form,
    }
    return render_to_response('journal/post_list.html', context)

1 个答案:

答案 0 :(得分:0)

表单是否已提交?如果没有,也可以尝试添加一些javascript来提交表单,当按下键时

$("form").submit();