Python 我的Django网站在编辑时不显示任何表单

Python 我的Django网站在编辑时不显示任何表单,python,django,Python,Django,我正在用Django建立一个网站。 由于某种原因,使用所有表格的词典根本没有显示出来 当我点击我的编辑按钮时,模态显示,没有表单 forms.server\u id需要包含使用server\u id的所有表单。。。 编辑时用于显示以前数据的服务器id 但出于某种原因,它根本没有表现出任何形式 index.html- {% load static i18n util_filters %} <html lang="en"> <head> <meta

我正在用Django建立一个网站。 由于某种原因,使用所有表格的词典根本没有显示出来

当我点击我的编辑按钮时,模态显示,没有表单

forms.server\u id需要包含使用server\u id的所有表单。。。 编辑时用于显示以前数据的服务器id

但出于某种原因,它根本没有表现出任何形式

index.html-

{% load static i18n util_filters %}
<html lang="en">

<head>
        <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
        <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs4/jq-3.2.1/jq-3.2.1/dt-1.10.16/af-2.2.2/b-1.4.2/fc-3.2.3/fh-3.1.3/kt-2.3.2/r-2.2.0/rg-1.0.2/rr-1.2.3/sc-1.4.3/sl-1.2.3/datatables.min.css"/>

        <script src="https://use.fontawesome.com/3c2c6890cf.js"></script>

        <script type="text/javascript" src="https://cdn.datatables.net/v/bs4/jq-3.2.1/jq-3.2.1/dt-1.10.16/af-2.2.2/b-1.4.2/fc-3.2.3/fh-3.1.3/kt-2.3.2/r-2.2.0/rg-1.0.2/rr-1.2.3/sc-1.4.3/sl-1.2.3/datatables.min.js"></script>

        <nav class="navbar navbar-expand-lg navbar-light bg-light">
      <a class="navbar-brand" href="{% url 'serverlist' %}">DevOps Map</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarNav">
        <ul class="navbar-nav">

          <li class="nav-item">
            <a class="nav-link" href="{% url 'serverlist' %}">Servers</a>
          </li>
                <li class="nav-item">
                    <a class="nav-link" href="{% url 'serverlist'  %}">Switches</a>
                </li>

        </ul>
      </div>
    </nav>

<style type="text/css">
.wrapper {
    display:flex;
}
</style>
</head>

<body>


<div class="container">

    <br>
    <center><h1 class="display-4">DevOps Server List</h1></center>
    <br>

    <center><button type="button" class="save btn btn-outline-success btn-lg" data-toggle="modal" data-target=".AddServer">Add Server <i class="fa fa-server fa-lg" aria-hidden="true"></i></button></center>
    <table class="table table-hover table-bordered table-condensed" cellspacing="0" width="1300" id="ServerTable">
    <thead>

      <tr>
        <th><center> #</center></th>
        <th><center>  Server Name </center></th></center>
        <th><center>  Owner </center></th></center>
        <th><center>  Project </center></th></center>
        <th><center>  Description </center></th></center>
        <th><center>  IP Address </center></th></center>
        <th><center> ILO </center></th></center>
        <th><center>  Rack </center></th></center>
        <th><center>  Status </center></th></center>
        <th><center> &nbsp;&nbsp;&nbsp;&nbsp; Actions &nbsp;&nbsp;&nbsp;&nbsp;   </center></th></center>


        </tr>
        </thead>
    <tbody>

                {% for server in posts %}


        <tr>
          <div class ="server">
            <td></td>
            <td><center>{{ server.ServerName }}</center></td>
            <td><center>{{ server.Owner }}</center></td>
            <td><center>{{ server.Project }}</center></td>
            <td><center>{{ server.Description }}</center></td>
            <td><center>{{ server.IP }}</center></td>
            <td><center>{{ server.ILO }}</center></td>
            <td><center>{{ server.Rack }}</center></td>
            <td><h4><span class="badge badge-success">Online</span></h4></td></center>

            <td>

&nbsp;&nbsp;&nbsp;&nbsp;
            <button type="button" class="btn btn-outline-danger" data-toggle="modal" href="#delete-server-{{server.id}}"
             data-target="#Del{{server.id}}">Delete <i class="fa fa-trash-o"></i></button>&nbsp;
            <button type="button" class="btn btn-outline-primary" data-toggle="modal" href="#edit-server-{{server.id}}"
             data-target="#Edit{{server.id}}"> &nbsp;&nbsp;Edit&nbsp;            <i class="fa fa-pencil"></i></button>
&nbsp;

                        <div id ="Del{{server.id}}" class="modal fade" role="document">
                            <div class="modal-dialog" id="delete-server-{{server.id}}">
                                    <div class="modal-content">
                                        <div class="modal-header">
                                            <h5 class="modal-title">Delete Confirmation</h5>
                                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                                    </button>
                                        </div>
                                        <div class="modal-body">
                                        <form action="{% url 'delete_post' server.id %}" method="post">{% csrf_token %}
                                            <h6>Are you sure you want to delete {{ server.ServerName }}?</h6>
                                                <br>
                                            <center><input type="submit" class="btn btn-danger btn-md" value="Confirm"/>
                                                <button type="submit" class="btn btn-secondary" data-dismiss="modal">Cancel</button></center>

                                        </form>
                                    </div>
                                    </div>


                        </div>
            </div>




            <div class="modal fade bd-example-modal-sm" id="Edit{{server.id}}" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-sm">
    <div class="modal-content">
                        <div class="modal-header">
                                <h5 class="modal-title">Edit Server <strong>{{ server.ServerName }}</strong> </h5>
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                        <span aria-hidden="true">&times;</span>
                                </button>
                        </div>
                                <div class="modal-body">

                                                                        {% with server.id as server_id %}
                                                                        {% with forms|get_by_key:server_id as edit_form %}
                                        <form action="{% url 'edit_post'  server_id %}" method="post"> {% csrf_token %}

                                <!--<center>    {{ edit_form.as_p }} </center> -->
                                        {% for field in forms.server_id %}


                                                            <div class="fieldWrapper">

                                                {{ field.errors }}
                                                                        <!-- {{ field.label_tag }} -->

                                <small><strong>{{ field.html_name }}<p align="left"></b> {{ field }}</small> </strong>

                                                {% if field.help_text %}
                                                <p class="help">{{ field.help_text|safe }}</p>
                                                {% endif %}

                                                        </div>

                                                {% endfor %}
                                                                </div>
                <div class="wrapper">
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <h2><button type="submit" class="save btn btn-success btn-lg">Confirm</button></h2>&nbsp;&nbsp;&nbsp;
                                <h2><button type="submit" class="btn btn-secondary btn-lg" data-dismiss="modal">Cancel</button></h2>
                </div>

                </form>
                {% endwith %}
                {% endwith %}

                </div>
                </td>
        </tr>
                {% endfor %}
    </tbody>
</h5>
    </table>



<div class="modal fade AddServer" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-sm">
    <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Add Server</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
                <div class="modal-body">
                    <form method="post" novalidate> {% csrf_token %}
                    <!--<center>    {{ form.as_p }} </center> -->
                            {% for field in form %}
                                <div class="fieldWrapper">
                            {{ field.errors }}
                                    <!-- {{ field.label_tag }} -->

                    <small><strong>{{ field.html_name }}</strong></small><p align="left"></b> {{ field }}   </p>

                            {% if field.help_text %}
                            <p class="help">{{ field.help_text|safe }}</p>
                            {% endif %}

                            </div>

                {% endfor %}

                </div>
                <div class="wrapper">
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <h2><button type="submit" class="save btn btn-success btn-lg" >Confirm</button></h2>&nbsp;&nbsp;&nbsp;
                <h2><button type="submit" class="btn btn-secondary btn-lg" data-dismiss="modal">Cancel</button></h2>
                </div>
            </div>
        </form>
    </div>
  </div>
</div>
这:

{% with server.id as server_id %}
    {# ... #}
    {{ forms.server_id.as_p }}
无法工作-它将查找
表单[“服务器id”]
(=>使用文本字符串
“服务器id”
作为键)。您将需要一个自定义模板筛选器。正如Daniel Roseman在评论中正确地提到的,您还必须将
server
应该传递给模板的上下文


还要注意的是,您将在
HomeView.post中获得
名称错误
-您复制粘贴的代码部分,填充在
posts
dict中,但不复制实例化它的部分。你真的应该考虑到这一点,而不是复制粘贴。

服务器id应该来自哪里?您不能使用变量在Django模板的字典中查找项目,不管怎样,现在呢?我已经编辑了索引以显示完整的html文件,即使Django支持,它仍然无法工作,因为
server
没有传递给模板。你认为你是在哪里做的?我添加了整个html文件。请注意,我得到了server.servername等。。
{% with server.id as server_id %}
    {# ... #}
    {{ forms.server_id.as_p }}