Python Django表格不';不显示可用值

Python Django表格不';不显示可用值,python,django,django-forms,django-views,Python,Django,Django Forms,Django Views,我对Django很陌生 所以,我有一个模型。请注意两个外键字段(DeviceProfilemodel实际上有数据,但mismstatesnashot没有): 和一个CreateView: class WorkflowCreateView(generic.CreateView): model = MISMWorkflow fields = '__all__' template_name = 'mism_web/workflow_create_form.html'

我对Django很陌生

所以,我有一个模型。请注意两个外键字段(
DeviceProfile
model实际上有数据,但
mismstatesnashot
没有):

和一个
CreateView

class WorkflowCreateView(generic.CreateView):
    model = MISMWorkflow
    fields = '__all__'
    template_name = 'mism_web/workflow_create_form.html'

    def form_valid(self, form):
        form.instance.device = DeviceProfile.objects.get(pk=self.kwargs.get('device_id'))
        form.instance.createdAt = timezone.now()
        return super(WorkflowCreateView, self).form_valid(form)
以及模板:

{% extends 'mism_web/base.html' %}
{% load material_form %}

{% block content %}
<form action="" method="POST">{% csrf_token %}
    <!--{{ form.as_p }}-->
    {% form form=form %}{% endform %}
    <input type="submit" name="_submit" class="btn" value="Save" />
</form>
{% endblock %}
这是我在创建页面时看到的内容:

这有两个问题:

  • 我没有看到我希望在这里看到的
    DateTimeField
    (createdAt)的日历/时钟小部件
  • currentSnapshot
    device
    字段都没有选择输入(即使数据库中有设备)
  • 这并不是因为我使用的是
    django材料
    插件。我在没有它的情况下进行了测试,但仍然得到了相同的“空”表

    这是什么原因以及如何修复

    编辑:

    这是我在“MISMWorkflow”的管理面板中看到的,这正是我希望看到的表单类型(ofc,我不想从这里创建外键实体,只想列出它们):

    编辑:这个问题似乎只有在扩展基本模板时才会发生。如果我不使用它,我可以正确地看到字段。例如,模板如下所示:

    <html>
    <body>
    <form action="" method="POST">{% csrf_token %}
        {{ form.as_p }}
        <input type="submit" name="_submit" class="btn" value="Save" />
    </form>
    <body>
    <html>
    

    因此,
    base.html
    在某种程度上干扰了表单显示。我不知道怎么做。

    根据我的理解。您似乎还没有初始化materialize中的选择

    尝试在html文件中添加包含以下内容的表单的脚本标记:

     $(document).ready(function() {
       $('select').material_select();
     });
    
    您可能还需要初始化datepicker插件以显示datepicker日历

    有关这方面的更多信息,请参见:

    对于日历插件,您是否确保它在JS中正确初始化?为了不在选择字段中显示值,您是否在打开表单之前创建了DeviceProfile和MISMStateSnapshot的任何对象?@AjmalNoushad:关于第二个问题,数据库中没有
    MISMStateSnapshot
    对象,但有
    DeviceProfile
    对象。至于第二个问题,我不明白该在上面写什么。正确。最后我花了很长时间才弄明白。
    <html>
    <body>
    <form action="" method="POST">{% csrf_token %}
        {{ form.as_p }}
        <input type="submit" name="_submit" class="btn" value="Save" />
    </form>
    <body>
    <html>
    
    {% load static %}
    {% load compress %}
    
    <html lang="en">
        <head>
            <meta charset="utf-8">
            <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    
            <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
            <link type="text/css" rel="stylesheet" href="{% static 'mism_web/css/materialize.min.css' %}" media="screen,projection"/>
            <link type="text/css" rel="stylesheet" href="{% static 'mism_web/css/helper.css' %}" media="screen,projection"/>
    
            <!--Let browser know website is optimized for mobile-->
            <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        </head>
    
        <!-- TODO: Fix navbar links -->
        <body>
            <div>
                <nav>
                    <div class="nav-wrapper">
                        <a href="{% url 'mism_web:index' %}" class="brand-logo">MISM</a>
                        <a href="#" data-activates="mobile" class="button-collapse">
                            <i class="material-icons">menu</i>
                        </a>
                        <ul class="right hide-on-med-and-down">
                            <li>
                                <a href="{% url 'mism_web:index' %}">
                                    <i class="material-icons left">home</i>
                                    Home
                                </a>
                            </li>
                            <li>
                                <a href="{% url 'mism_web:device_list' %}">
                                    <i class="material-icons left">perm_device_information</i>
                                    Devices
                                </a>
                            </li>
                            <li>
                                <a href="{% url 'mism_web:workflow_list' %}">
                                    <i class="material-icons left">format_indent_increase</i>
                                    Workflows
                                </a>
                            </li>
                            <li>
                                {% if user.is_authenticated %}
                                <a href="#">{{ user.get_username }}</a>
                                {% else %}
                                <a href="#">Unknown user</a>
                                {% endif %}
                            </li>
                        </ul>
                        <ul class="side-nav" id="mobile">
                            <li>
                                <a href="{% url 'mism_web:device_list' %}">
                                    <i class="material-icons top">home</i>
                                    Home
                                </a>
                            </li>
                            <li>
                                <a href="{% url 'mism_web:device_list' %}">
                                    <i class="material-icons top">perm_device_information</i>
                                    Devices
                                </a>
                            </li>
                            <li>
                                <a href="{% url 'mism_web:workflow_list' %}">
                                    <i class="material-icons top">format_indent_increase</i>
                                    Workflows
                                </a>
                            </li>
                            <li>
                                {% if user.is_authenticated %}
                                <a href="#">{{ user.get_username }}</a>
                                {% else %}
                                <a href="#">Unknown user</a>
                                {% endif %}
                            </li>
                        </ul>
                    </div>
                </nav>
            </div>
    
            <div class="container">
                {% block content %} {% endblock %}
            </div>
            <script type="text/javascript" src="{% static 'mism_web/js/jquery-3.2.1.min.js' %}"></script>
            <script type="text/javascript" src="{% static 'mism_web/js/materialize.min.js' %}"></script>
            <script type="text/javascript" src="{% static 'mism_web/js/helper.js' %}"></script>
        </body>
    </html>
    
     $(document).ready(function() {
       $('select').material_select();
     });