2017-09-13 2 views
-1

Also baue ich meine erste Website und ich habe ein Problem. Ich verstehe wirklich nicht, wie Ansichten, Module und meine Website verbindet .. Und vielleicht das ist der Grund, warum ich diesen Fehler bekam ...Django - Hinzufügen neuer Daten in die Datenbank

Mein Ordner der HTML-Dateien ist Karte/templates/serverlist.html

Ich versuche, meine Daten in der DB und jedes Mal auf der Website klicken ich auf die Schaltfläche Senden Ich sehe eine POST-Anfrage, aber die Daten selbst nicht auf der Website und/oder der MySQL-Datenbank angezeigt.

Irgendeine Idee, was fehlt?

IndentationError at/
unexpected indent (forms.py, line 6) 
Request Method: GET 
Request URL: http://172.16.10.60:8000/ 
Django Version: 1.3.1 
Exception Type: IndentationError 
Exception Value:  
unexpected indent (forms.py, line 6) 
Exception Location: /media/sf_C_DRIVE/Users/eilon.ashkenazi/Desktop/EilonA/DevOpsMap/WebFiles/../WebFiles/map/views.py in <module>, line 4 
Python Executable: /usr/bin/python 
Python Version: 2.7.5 
Python Path:  
['/media/sf_C_DRIVE/Users/eilon.ashkenazi/Desktop/EilonA/DevOpsMap/WebFiles', 
'/usr/lib64/python27.zip', 
'/usr/lib64/python2.7', 
'/usr/lib64/python2.7/plat-linux2', 
'/usr/lib64/python2.7/lib-tk', 
'/usr/lib64/python2.7/lib-old', 
'/usr/lib64/python2.7/lib-dynload', 
'/usr/lib64/python2.7/site-packages', 
'/usr/lib64/python2.7/site-packages/gtk-2.0', 
'/usr/lib/python2.7/site-packages'] 
Server time: Wed, 13 Sep 2017 07:39:50 -0500 

view.py

# Create your views here. 
from django.shortcuts import render_to_response 
from django.template import RequestContext 
from map.forms import PostForm 
from map.models import serverlist 

def home(request): 
    entries = serverlist.objects.all() 
    return render_to_response('serverlist.html', {'serverlist' : entries }) 
def postView(request): 
    if request.method == 'POST': 
     form = PostForm(request.POST) 
     if form.is_valid(): # Checks if validation passed 

       servername = request.POST.get('ServerName','') 
       owner = request.POST.get('Owner','') 
       item = serverlist(servername=ServerName,owner=Owner) 
       form.save() # Save the data into the DB 
       return HttpRespondRedirect(reverse('map:serverlist')) # Resdirect after POST 
     else: 
      form = PostForm() 

    return render(request, 'templates/serverlist.html', { 'form' : form, }) 

forms.py

from django import forms 
from map.models import serverlist 

class PostForm(forms.Form): 
    ServerName = forms.CharField(max_length = 30) 
    Owner = forms.CharField(max_length = 50) 
# Project = forms.CharField(max_length = 30) 
# Description = forms.CharField(max_length = 255) 
# IP = forms.CharField(max_length = 30) 
# ILO = forms.CharField(max_length = 30) 
# Rack = forms.CharField(max_length = 30) 
# Status = forms.CharField(max_length = 30) 

index.html

<html lang="en"> 

<head> 
    <meta charset="utf-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> 
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 

    <nav class="navbar navbar-default"> 
    <div class="container-fluid"> 
    <div class="navbar-header"> 
     <a class="navbar-brand" href="#">DevOps Map</a> 
    </div> 
    <ul class="nav navbar-nav"> 
     <li class="active"><a href="#">Servers</a></li> 
     <li><a href="#">Switches</a></li> 
    </ul> 
    </div> 
</nav> 
</head> 

<body> 


<div class="container"> 
    <br> 
    <br> 
    <center><h1>DevOps Server List</h1></center> 
    <br> 
    <br> 
    <br> 
    <table class="table table-hover"> 
     <h5> 
    <thread> 

     <tr> 
     <th> Server Name </th> 
     <th> Owner </th> 
     <th> Project </th> 
     <th> Description </th> 
     <th> IP Address </th> 
     <th> ILO </th> 
     <th> Rack </th> 
     <th> Status </th> 


    </tr> 
    </thread> 
    <tbody> 

       {% for server in serverlist %} 
     <tr> 
       <div class ="server"> 
      <td>{{ server.ServerName }}</td> 
      <td>{{ server.Owner }}</td> 
      <td>{{ server.Project }}</td> 
      <td>{{ server.Description }}</td> 
      <td>{{ server.IP }}</td> 
      <td>{{ server.ILO }}</td> 
      <td>{{ server.Rack }}</td> 
      <td>{{ server.Status }}</td> 
      <td> 

      <div class="dropdown"> 
       <button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">Actions 
       <span class="caret"></span></button> 
       <ul class="dropdown-menu" role="menu" aria-labelledby="menu1"> 
       <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Edit</a></li> 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Delete</a></li> 
      </td> 
       </div> 
     </tr> 
       {% endfor %} 
    </tbody> 
</h5> 
    </table> 

    <br> 
    <br> 
    <form method="post"> 

    <p><label for="ServerName">Server Name:</label><input type="text" name="ServerName" id="ServerName" /></p> 

    <p><label for="Owner">Owner:</label><input type="text" name="Owner" id="Owner" /></p> 

     <center><h2> <button type="submit" class="save btn btn-default">Add Item</button></h2></center> 
    </form> 
</div> 

</body> 

</html> 
+0

Sind Sie sicher, dass Sie keinen Zwischenraum und Tabulator für den Einzug haben? – Dadep

+1

Ersetzen Sie alle 'Tab' in Ihrem Code zu' Leerzeichen' und verwenden Sie nur 'Leerzeichen' zum Formatieren von Code –

+0

Mögliche Duplikate von [Einzug Fehler] (https://StackOverflow.com/Questions/10279359/Indentation-Fehler) – Exprator

Antwort

2

In Ausnahme sagt es unexpected indent (forms.py, line 6)

denke ich, Linie 6 # Project = forms.CharField(max_length = 30) ist, die gut aussieht, aber es ist wahrscheinlich eine Vertiefung Fehler auf der vorherige oder nächste Zeile in der eigentlichen Code.

+0

Starten mit '#' es ist ein Kommentar kein Einrückungsproblem in dieser Zeile – Dadep

+0

Danke! Ihr Kommentar hat mir wirklich geholfen, aber jetzt habe ich ein neues Problem, dass meine DB nicht aktualisiert wurde. –

+0

@EilonAshkenazi Gern geschehen! Fühlen Sie sich frei, die Antwort zu akzeptieren, indem Sie auf das Kontrollkästchen klicken, wenn Sie glauben, dass es Ihre Frage beantwortet hat. – bphi

0

Ihre Einrückung scheint nicht in Zeile 14-19 in Ihrer views.py Datei enthalten zu sein. Versuchen Sie, jede Zeile um eine Registerkarte (oder 4 Leerzeichen) zu verschieben.

+0

Es hat funktioniert! Aber jetzt stehe ich vor einem neuen Problem, die DB wird nicht aktualisiert –

Verwandte Themen