CrankyCat 2022-11-01 06:52 采纳率: 50%
浏览 37
已结题

crispy form 在template不显示

问题遇到的现象和发生背景

crispy form 在template里不显示

用代码块功能插入代码,请勿粘贴截图

Model.py


class Event(models.Model):
    
    STATUS_CHOICES = (
        ('draft', 'Draft'),
        ('published', 'Published'),
    )
    title = models.CharField(max_length=70, null=True)
    body = models.TextField(null=True)
    created_time = models.DateTimeField(auto_now_add=True, null=True)
    status = models.CharField(max_length=10, choices=STATUS_CHOICES, null=True)
    abstract = models.CharField(
        max_length=54, blank=True, null=True,
        help_text="get the first 54 text",
    ) 
    views = models.PositiveIntegerField(default=0, null=True) 
    likes = models.PositiveIntegerField(default=0, null=True)
    topped = models.BooleanField(default=False, null=True) 

    def __str__(self):
        return self.title
    
    class Meta:
        ordering = ['-created_time']

forms.py

    class Meta:

        model = Event

        fields = [
            'title',
            'body',
            'status',
            'abstract',
            'topped',
        ]

views.py


    def addeventform(self, request, *args, **kwargs):
        """A from to add new events"""
        # allow template to pass in an empty form
        event_form = EventForm()

        # then save the form if method is post and form is valid
        if request.method == 'POST':
            event_form = EventForm(request.POST)

            if event_form.is_valid():
                event_form.save()
                return redirect('addevent')
        
        context = {
            'event_form': event_form,
        }

        return render(request, 'comment/addevent.html', context)

template

            <form method="POST" action="/addevent/" class="form mb-2" enctype="multipart/form-data">
              {% csrf_token %}
              {{ event_form|crispy }}
              <p>testing</p>
            </form>


运行结果及报错内容

无报错,就是无法显示form

我的解答思路和尝试过的方法

def addeventformview(request):
# dictionary for initial data with
# field names as keys
context = {}

# add the dictionary during initialization
event_form = EventForm(request.POST or None)
if event_form.is_valid():
    event_form.save()
     
context['event_form'] = event_form
return render(request, "comment/addevent.html", context)
我想要达到的结果

谁能找到form不显示的解决办法?

  • 写回答

6条回答 默认 最新

  • 「已注销」 2022-11-01 07:48
    关注

    如果没人的话,我来试试

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月1日
  • 创建了问题 11月1日

悬赏问题

  • ¥20 有偿,学生成绩信息管理系统
  • ¥15 Arduino电机和openmv连接异常
  • ¥15 Arcgis河网分级报错
  • ¥200 java+appium2.1+idea
  • ¥20 请帮我做一个EXE的去重TXT文本
  • ¥15 工价表引用工艺路线,应如何制作py和xml文件
  • ¥15 根据历史数据,推荐问题类型
  • ¥15 需要仿真图,简单的二阶系统实例
  • ¥15 stm32光控照明仿真
  • ¥15 使用人工智能的方法生成满足一定统计参数要求的随机数序列