Django - не добавлять новые данные в базу данных

-2

Поэтому я строю свой первый сайт, и у меня проблема. Я действительно не понимаю, как соединяются взгляды, модули и мой сайт. И, возможно, именно по этой причине я получил эту ошибку...

Моя папка html файлов - map/templates/serverlist.html

Я пытаюсь добавить свои данные в БД и каждый раз на веб-сайте я нажимаю кнопку отправки, я вижу запрос POST, но сами данные не отображаются на веб-сайте и/или в базе данных MySQL.

Любая идея, что пропало?

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
    Вы уверены, что не имеете смешанного пространства и табуляции для отступа?
  • 1
    заменить все tab в вашем коде на space и использовать только space для форматирования кода
Показать ещё 1 комментарий
Теги:
web

2 ответа

2
Лучший ответ

В исключении говорится о unexpected indent (forms.py, line 6)

Я думаю, что строка 6 - это # Project = forms.CharField(max_length = 30) которая выглядит нормально, но, вероятно, есть ошибка с отступом в предыдущей или следующей строке вашего фактического кода.

  • 0
    Начиная с # это комментарий без проблемы с отступом в этой строке
  • 0
    Спасибо! Ваш комментарий действительно помог мне, но теперь я столкнулся с новой проблемой, не обновляя мою БД
Показать ещё 1 комментарий
0

Ваш отступ, кажется, отключен от строк 14-19 в файле views.py. Попробуйте отбросить каждую строку с помощью вкладки (или 4 пробела).

  • 0
    Это сработало! Но сейчас я сталкиваюсь с новой проблемой, БД не обновляется

Ещё вопросы

Сообщество Overcoder
Наверх
Меню