首页 > 解决方案 > Django复选框表单不显示

问题描述

首先,很抱歉这个简单的问题,我是 Django 的新手,神圣的文档并没有帮助我。

事实是,我试图在模板上显示一个复选框表单,但是尽管按照 django 的文档进行了操作,但它拒绝出现。

这是我的代码:

表格.py

from django.forms import ModelForm
from .models import SoinsSelect
    
class SoinsSelectForm(ModelForm):
    class Meta:
        model = SoinsSelect
        fields = '__all__'

模型.py

from django.db import models
    
class SoinsSelect(models.Model):
    blabla = models.BooleanField(default=False)

视图.py

    from soins.forms import SoinsSelectForm
    from django.shortcuts import render
    
        def CreateSoinsSelect(request):
            if request.method == 'POST':
                form = SoinsSelectForm(request.POST or None)
                if form.is_valid():
                    form.save()
            else:
                form = SoinsSelectForm()
            return render(request, 'profile.html', {'form': form})
 

profile.html

<!DOCTYPE html>
<html lang="en">
<head>

    {% load static %}
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <link rel="stylesheet" href="{% static "css/profile.css"%}">

</head>
<body>

  <div class="nav-right visible-xs">
  <div class="button" id="btn">
    <div class="bar top"></div>
    <div class="bar middle"></div>
    <div class="bar bottom"></div>
  </div>
</div>
<!-- nav-right -->
<main>
  <nav>
    <div class="nav-right hidden-xs">
      <div class="button" id="btn">
        <div class="bar top"></div>
        <div class="bar middle"></div>
        <div class="bar bottom"></div>
      </div>
    </div>
    <!-- nav-right -->
  </nav>

  <a href="https://codepen.io/tonkec/" class="ua" target="_blank">
    <i class="fa fa-user"></i>
  </a>

      <section>
    <article>
       <h4>Hello {{ user.forename }}</h4>
        <p>Here is you data :</p>
        <p>Username : {{ user.forename }}</p>
        <p>name : {{ user.name }}</p>
        <p>email : {{ user }}</p>
        <p>N° de téléphone : {{ user.phone }}</p>
        <p>Adresse : {{ user.adress1 }}  {{ user.adress2 }}</p>
        <p>Date de naissance : {{ user.dateNaiss }}</p>
        <p>Mes points de fidelité : {{ user.fidelity }}</p>
        <br>
        <button type="submit"> <a href="{% url 'users:edit_profile' %}" class="nav-link">Changer mes informations</a></button>
    </article>
  </section>

  <section>
    <article>
      <h4>Faites votre réservation</h4>
        <form action="#" method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Submit">
</form>
    </article>
  </section>

  <section>
    <article>
      <h4>Section 3</h4>
    </article>
  </section>

  <section>
    <article>
      <h4>Section 4</h4>
    </article>
  </section>

</main>

<div class="sidebar">
  <ul class="sidebar-list">
      <li class="sidebar-item"><a href="{% url 'Accueil' %}" class="sidebar-anchor">Accueil</a></li>
    <li class="sidebar-item"><a href="#" class="sidebar-anchor" data-rel="1" class="active">Mon compte</a></li>
    <li class="sidebar-item"><a href="#" class="sidebar-anchor" data-rel="2">Réserver un soin</a></li>
    <li class="sidebar-item"><a href="#" class="sidebar-anchor" data-rel="3">Mes réservations</a></li>
    <li class="sidebar-item"><a href="#" class="sidebar-anchor" data-rel="4">Mon historique</a></li>
  </ul>
</div>

<script src="{% static "js/profile.js" %}"></script>
</body>
</html>

PS:views.py 和 profile.html 在另一个应用程序中,但我认为这不是问题,因为我导入了它?

PS2:我在 profile.js 中有一个函数,它根据我所在的 <li> 隐藏 <section>,但我认为这不是问题,因为表单中的提交按钮出现了。

PS3:对不起我的英语不好。

标签: pythondjango

解决方案


查看您的错误详细信息以了解是否引发了任何错误。在您的views.py中,如果views.py和forms.py在同一个应用程序或文件夹中,请像这样导入SoinsSelectForm from .forms import SoinsSelectForm,对于您的 forms.py,它应该是这样的

from .models import SoinsSelect
    
class SoinsSelectForm(forms.ModelForm):
    class Meta:
        model = SoinsSelect
        fields = '__all__'

希望这可以解决您的问题。


推荐阅读