首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django CreateView没有按预期工作

Django CreateView没有按预期工作
EN

Stack Overflow用户
提问于 2018-08-10 07:37:58
回答 1查看 1.3K关注 0票数 1

我有下面的CreateView

代码语言:javascript
运行
复制
class CreateEmailTemplateView(CreateView):

   template_name = 'frontend/emailtemplates/create.html'
   model = Templates
   fields = '__all__'

   def form_valid(self, form):
      form.instance.user = self.request.user
      return super(CreateEmailTemplateView, self).form_valid(form)

模板模型如下所示

代码语言:javascript
运行
复制
class Templates(models.Model):
    name = models.CharField(max_length=128)
    template = models.TextField()
    user = models.ForeignKey(User, on_delete=models.CASCADE)

--但是当我提交表单时,它不会将它保存在数据库中,也不会看到任何错误消息,它只是重定向到同一个页面,表单方法是POST

我遗漏了什么?如何在提交表单后显示一些错误/成功消息?

EN

回答 1

Stack Overflow用户

发布于 2018-08-10 07:52:00

当有效的表单数据是form_valid时,调用POSTed。请您检查一下您的数据是否有效?还可以将登录添加到form_valid方法中,以确保达到该方法:

代码语言:javascript
运行
复制
import logging


logger = logging.getLogger(__name__)


class CreateEmailTemplateView(CreateView):

    template_name = 'frontend/emailtemplates/create.html'
    model = Templates
    fields = '__all__'

    def form_valid(self, form):
        logger.info('form_valid called')
        form.instance.user = self.request.user
        return super(CreateEmailTemplateView, self).form_valid(form)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51781403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档