2017-04-09 1 views
0

Ich sehe nicht, was ich falsch mache, wenn Sie versuchen, Daten in die Datenbank hinzuzufügen. Wenn ich den Button Submit drücke, wird nichts in die Datenbank eingegeben. Das Gleiche passiert beim Drücken der Taste Enter.Hinzufügen von Daten in die Datenbank mit Django durch Drücken der Eingabetaste

Hier ist meine HTML-Datei.

<script> 
 
    $(document).keypress(function(event) { 
 
    if (event.keyCode == 13 || event.which == 13) { 
 
     alert('enter key is pressed'); 
 
     event.preventDefault(); 
 
    } 
 
    }); 
 
</script>
<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>
Hier ist die 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) 
+0

'post = get_object_or_404 gedrückt wird (Post, pk = pk)' was ist pk? woher kommt das? – karthikr

Antwort

0

Ist das Formular abgeschickt werden? Wenn nicht, versuchen Sie vielleicht einige Javascript Hinzufügen das Formular abzuschicken, wenn der Schlüssel

$("form").submit(); 
+0

Wenn Sie diesen Code hinzufügen, wird dies besser. Die Daten werden in die Datenbank eingegeben. Allerdings mache ich immer noch etwas falsch, weil die Daten nicht angezeigt werden. Es wird als Bindestrich angezeigt. Danke, dass Sie diesen Fortschritt gemacht haben. – Arielis

Verwandte Themen