Django CreateView 不保存对象

2023-12-25

我正在使用基本的博客应用程序练习 django 基于类的视图。 然而,由于某种原因,我的 Post 模型的 CreateView 没有将帖子保存在数据库中。

模型.py

class Post(models.Model):
    user = models.ForeignKey(User)
    post_title = models.CharField(max_length=200)
    post_content = models.CharField(max_length=500)
    post_date = models.DateTimeField('date posted')

forms.py

class PostForm(forms.ModelForm):
    class Meta:
        model = Post
        exclude = ('user', 'post_date')

views.py

class PostCreate(CreateView):
    template_name = 'app_blog/post_save_form.html'
    model = Post
    form_class = PostForm

    def form_valid(self, form):
        form.instance.user = self.request.user
        form.instance.post_date = datetime.now()
        return super(PostCreate, self).form_valid(form)

它显示内容而不会产生任何错误,但是当我检查管理页面时, CreateView 创建的帖子未保存在数据库中。 任何想法..??

Thanks


提示一:不要使用exclude定义表单时,使用fields,更安全,也是推荐的方法。

重定向定义为get_success_url方法。如果您的模型中有该方法get_absolute_url 创建视图将重定向到该 URL,否则您可以随时覆盖get_success_url在你看来。

Using get_absolute_url:

class Post(models.Model):
    user = models.ForeignKey(User)
    post_title = models.CharField(max_length=200)
    post_content = models.CharField(max_length=500)
    post_date = models.DateTimeField('date posted')

    @permalink
    def get_absolute_url(self):
        return ('myurlname', (), {'myparam': something_useful})

Using get_success_url:

class PostCreate(CreateView):
    template_name = 'app_blog/post_save_form.html'
    model = Post
    form_class = PostForm

    def form_valid(self, form):
        form.instance.user = self.request.user
        form.instance.post_date = datetime.now()
        form.save()
        return super(PostCreate, self).form_valid(form)

    def get_success_url(self):
        return reverse('myurlname', args=(somethinguseful,))

我认为您在使用 CBV 时会发现此页面非常有用:http://ccbv.co.uk/projects/Django/1.5/django.views.generic.edit/CreateView/ http://ccbv.co.uk/projects/Django/1.5/django.views.generic.edit/CreateView/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django CreateView 不保存对象 的相关文章

  • 我怎样才能更多地了解Python的内部原理? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我使用Python编程已经有半年多了 我对Python内部更感兴趣 而不是使用Python开发应用程序
  • Python模块可以访问英语词典,包括单词的定义[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 python 模块 它可以帮助我从英语词典中获取单词的定义 当然有enchant 这可以帮助我检查该单词是否存在于英语中
  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • 如何在 pytest 中将单元测试和集成测试分开

    根据维基百科 https en wikipedia org wiki Unit testing Description和各种articles https techbeacon com devops 6 best practices inte
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • 如何通过在 Python 3.x 上按键来启动和中断循环

    我有这段代码 当按下 P 键时会中断循环 但除非我按下非 P 键 否则循环不会工作 def main openGame while True purchase imageGrab if a sum gt 1200 fleaButton ti
  • 从 python 发起 SSH 隧道时出现问题

    目标是在卫星服务器和集中式注册数据库之间建立 n 个 ssh 隧道 我已经在我的服务器之间设置了公钥身份验证 因此它们只需直接登录而无需密码提示 怎么办 我试过帕拉米科 它看起来不错 但仅仅建立一个基本的隧道就变得相当复杂 尽管代码示例将受
  • 使用鼻子获取设置中当前测试的名称

    我目前正在使用鼻子编写一些功能测试 我正在测试的库操作目录结构 为了获得可重现的结果 我存储了一个测试目录结构的模板 并在执行测试之前创建该模板的副本 我在测试中执行此操作 setup功能 这确保了我在测试开始时始终具有明确定义的状态 现在
  • 按元组分隔符拆分列表

    我有清单 print L I WW am XX newbie YY ZZ You WW are XX cool YY ZZ 我想用分隔符将列表拆分为子列表 ZZ print new L I WW am XX newbie YY ZZ You
  • Seaborn Pairplot 图例不显示颜色

    我一直在学习如何在Python中使用seaborn和pairplot 这里的一切似乎都工作正常 但由于某种原因 图例不会显示相关的颜色 我无法找到解决方案 因此如果有人有任何建议 请告诉我 x sns pairplot stats2 hue
  • 将 JSON 对象传递给带有请求的 url

    所以 我想利用 Kenneth 的优秀请求模块 https github com kennethreitz requests 在尝试使用时偶然发现了这个问题自由库API http wiki freebase com wiki API 基本上
  • Pandas 根据 diff 列形成簇

    我正在尝试使用 Pandas 根据表示时间 以秒为单位 的列中的差异来消除数据框中的一些接近重复项 例如 import pandas as pd numpy as np df pd DataFrame 1200 1201 1233 1555
  • 无法在 osx-arm64 上安装 Python 3.7

    我正在尝试使用 Conda 创建一个带有 Python 3 7 的新环境 例如 conda create n qnn python 3 7 我收到以下错误 Collecting package metadata current repoda
  • 如何链接 Django 的“in”和“iexact”查询集字段查找?

    我有一个名字列表 例如 name list Alpha bEtA omegA 目前我有以下查询集 MyModel objects filter name in name list 我希望能够以不区分大小写的方式过滤名称 我的第一个想法是使用
  • 具有自定义值的 Django 管理外键下拉列表

    我有 3 个 Django 模型 class Test models Model pass class Page models Model test models ForeignKey Test class Question model M
  • 如何读取Python字节码?

    我很难理解 Python 的字节码及其dis module import dis def func x 1 dis dis func 上述代码在解释器中输入时会产生以下输出 0 LOAD CONST 1 1 3 STORE FAST 0 x
  • 检查字典键是否有空值

    我有以下字典 dict1 city name yass region zipcode phone address tehsil planet mars 我正在尝试创建一个基于 dict1 的新字典 但是 它不会包含带有空字符串的键 它不会包
  • 从 Twitter API 2.0 获取 user.fields 时出现问题

    我想从 Twitter API 2 0 端点加载推文 并尝试获取标准字段 作者 文本 和一些扩展字段 尤其是 用户 字段 端点和参数的定义工作没有错误 在生成的 json 中 我只找到标准字段 但没有找到所需的 user fields 用户
  • 列表值的意外更改

    这是我的课 class variable object def init self name name alias parents values table name of the variable self name 这是有问题的函数 f

随机推荐

  • IE9 支持 Windows 7 上的触摸事件吗?

    我正在尝试在基于 Windows 7 的平板电脑上使用触摸事件 即触摸移动 在画布元素上绘图 我想知道 IE9 DOM 是否支持触摸事件 如果有人也能向我指出一些示例代码 那就太好了 IE9中没有触摸事件 我想很多人在 IE9 预览阶段就向
  • 在 dplyr 中分组并计算百分比

    我在 r 中有以下数据框 Service Container Pick Day ABC 0 ABC 1 ABC 1 ABC 2 ABC NA ABC 0 ABC 1 DEF NA DEF 0 DEF 1 DEF 1 DEF 1 DEF 2
  • Renderpartial 位于共享文件夹的子文件夹中。如何让MVC找到它?

    简短但简单 我有一个 edit ascx 位于共享文件夹中 我这样称呼它 如果我把它放在子文件夹中 它找不到该文件 如何解决这个问题 至于如何排列视图 您可以根据需要将视图放入子文件夹中并创建自己的视图结构 所有视图始终可以使用 语法通过其
  • 朴素贝叶斯分类的简单解释[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我发现很难理解朴素贝叶斯的过程 我想知道是否有人可以用英语用简单的一步一步过程来解释它 我知道它需要将发生的次数作为概率进行比较 但我不知
  • 为什么 Android 的进度对话框中没有取消按钮?

    我正面临着类似的令人头疼的时刻这个人 http groups google com group android developers browse thread thread cdae98b7832b4754 567ffa7107a73f7
  • ActionView::缺少模板

    将 mysite 部署到 VPS 后 我遇到此运行时错误 请注意 在我的本地计算机中 一切正常 当我尝试访问控制器路由的任何视图时 假设 Posts Controller index 我收到这个错误 Completed 500 Intern
  • 将数据帧传递给函数时,pandas 何时进行引用传递和值传递?

    def dropdf copy df df df drop y axis 1 def dropdf inplace df df drop y axis 1 inplace True def changecell df df y 0 99 x
  • dotnet test > 有没有办法显示在控制台中运行的测试列表?

    跑步时dotnet test 有没有办法显示在控制台中运行的所有测试的列表而不是某些输出文件 在控制台中看到这样的列表是理想的 x test1 test2 test3 x test4 而不仅仅是总体测试统计数据 运行 失败 跳过 我在 ma
  • 如何执行 URL 中没有 .php 扩展名的 PHP 网页?

    抱歉 菜鸟问题 无法理解我应该搜索的内容 我正在用该页面创建一个网站product php id 777我希望它是product 777 谢谢你 在您的 Web 根目录中创建 htaccess 文件并在其中输入以下内容 Options Fo
  • UICollectionView 滚动到项目不适用于水平方向

    我有一个UICollectionView在一个UIViewController启用分页 由于某种奇怪的原因 collectionView scrollToItem工作时的方向collectionview is vertical但当方向为ho
  • python:无意中修改传递给函数的参数

    有几次我不小心修改了函数的输入 由于 Python 没有恒定的引用 我想知道什么编码技术可以帮助我避免经常犯这种错误 Example class Table def init self fields raw data fields is a
  • 除非您更新 Google Play 服务,否则此应用将无法运行

    我现在一直在不断尝试让 Android V2 的谷歌地图能够工作 我正在设备上尝试此操作 Samsung Galaxy S 2 3 3 和模拟器 我的清单 我尝试过同时使用 Debug 键和 Release 键
  • C# 可以从派生类调用基类属性

    我有一个基类 其属性具有 setter 方法 有没有一种方法可以从派生类调用基类中的 setter 并为其添加更多功能 就像我们使用 base 关键字覆盖方法一样 抱歉 我应该添加一个例子 这是一个例子 希望我做对了 public clas
  • Linux 中 mmap 物理内存的用户空间 memcpy 性能较差

    在我的计算机上安装的 192GB RAM 中 我有 188GB RAM 以上 4GB 硬件地址 0x100000000 由 Linux 内核在启动时保留 mem 4G memmap 188G 4G 数据采集 内核模块使用 DMA 将数据累积
  • Java POI:如何读取Excel单元格值而不是公式计算?

    我正在使用 Apache POI API 从 Excel 文件中获取值 除了包含公式的单元格之外 一切都运行良好 事实上 cell getStringCellValue 返回单元格中使用的公式 而不是单元格的值 我尝试使用evaluateF
  • 使用 equals 方法比较字符串并 == [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Java 中比较字符串 https stackoverflow com questions 513832 how do i compare strings in java Java Strin
  • 如何使用 tqdm 迭代列表

    我想知道处理某个列表需要多长时间 for a in tqdm list1 if a in list2 do something 但这不起作用 如果我使用for a in tqdm range list1 我将无法检索列表值 你知道怎么做吗
  • 无法从 Django Docker 实例内部访问项目绝对 url

    我有一个使用 Cookiecutter Django 启动的项目 目前我正在添加 WeasyPrint 以将某些视图作为 PDF 文件提供 这在开发中运行良好 Cookiecutter Django 使用 Caddy 作为 HTTP 服务器
  • 禁止实例化为临时对象 (C++)

    我喜欢在 C 中使用哨兵类 但我似乎有一种精神困扰 导致反复编写如下错误 MySentryClass arg other code 不用说 这会失败 因为哨兵在创建后立即死亡 而不是按预期在作用域结束时死亡 有没有某种方法可以防止 MySe
  • Django CreateView 不保存对象

    我正在使用基本的博客应用程序练习 django 基于类的视图 然而 由于某种原因 我的 Post 模型的 CreateView 没有将帖子保存在数据库中 模型 py class Post models Model user models F