【问题标题】:my django form is not saving the inputs in the admin panel我的 django 表单没有在管理面板中保存输入
【发布时间】:2021-07-05 11:14:52
【问题描述】:

如何设置 django 表单的样式,使其看起来像我最初的前端模板?我创建了我的 django 表单,它看起来不太好,也没有在管理面板中保存输入。你能告诉我我需要在代码中添加什么或者我做错了什么吗?

models.py

class Complaints(models.Model):
user = models.ForeignKey(User, on_delete= CASCADE, null = True, blank=True)
title = models.CharField(max_length=300)
description = models.TextField(null=True, blank= True)
highpriority = models.BooleanField(default=False)
document = models.FileField(upload_to='static/documents')

def __str__(self):
    return self.title

views.py:

class ComplaintCreate(CreateView):
    model = Complaints
    form = ComplaintForm
    fields = '__all__'
    success_url = reverse_lazy('New')
    template_name = 'new.html'

模板:

</div>

    <!-- Middle Container -->
    <div class="col-lg middle middle-complaint-con">
        <i class="fas fa-folder-open fa-4x comp-folder-icon"></i>
        <h1 class="all-comp">New Complaint</h1>

        <form class="" action="" method="POST" enctype="multipart/form-data">
            {% csrf_token %}
            <div class="form-control col-lg-10 comp-title-field"> {{form.title}} </div>
            <p class="desc">Description</p>
            <button type="button" class="btn btn-secondary preview-btn">Preview</button>
            <div class="Descr"> {{form.description}} </div>
            <button type="file" name="myfile" class="btn btn-secondary attach-btn"><i class="fas fa-file-upload"></i> Attachment</button>
            <button type="submit" class="btn btn-secondary save-btn" value="submit"><i class="fas fa-save"></i> Save</button>
        </form>

    </div>

forms.py

class ComplaintForm(ModelForm):
class Meta:
    model = Complaints
    fields = '__all__'
    exclude = ['user']

该网站也看起来像这样的atm:

如何使它看起来像这样?:

【问题讨论】:

    标签: django django-models django-views django-forms django-templates


    【解决方案1】:

    我认为您的页面只需要样式。 尝试和它一起玩。如果内容发生冲突,请添加
    标签。

    .....
    .....
    <br>
    <br>
    <button type="file" name="myfile" class="btn btn-secondary attach-btn"><i 
    class="fas fa-file-upload"></i> Attachment</button>
             <button type="submit" class="btn btn-secondary save-btn"value="submit"> 
    <i class="fas fa-save"></i> Save</button>
            </form>
    

    【讨论】:

      【解决方案2】:

      您没有收到缩进错误??你写了元类在行的乞求。

      会是这样的:

      class ComplaintForm(ModelForm):
          class Meta:
              model = Complaints
              fields = '__all__'
              exclude = ['user']
      

      【讨论】:

      • 不,这里是这样的......在代码中它是正确的
      【解决方案3】:

      如果使用引导程序 您可以使用django-crispy-forms 这是一个可以安装它的软件包,并且只在{{form|crispy}} 这样的形式中添加过滤器,所有形式都转换为引导程序

      如何使用这个包>>

      使用 pip 将最新的稳定版本安装到您​​的 python 环境中:

      pip install django-crispy-forms
      

      安装后,在 settings.py 中将 crispy_forms 添加到您的 INSTALLED_APPS

      INSTALLED_APPS = (
      
          'crispy_forms',
      )
      

      并在 settings.py 中添加:

      CRISPY_TEMPLATE_PACK = 'bootstrap4'
      

      最后,你可以在模板中使用它了

      {% load crispy_forms_tags %}
      

      并像这样在表单中添加过滤器

      {{form|crispy}}
      

      但不要忘记安装引导程序

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多