Django ModelForm 不保存数据

2024-05-01

我已经尝试过以下帖子中的解决方案:

从 ModelForm 保存数据 https://stackoverflow.com/questions/13046488/saving-data-from-modelform: 没起作用

ModelForm数据不保存django https://stackoverflow.com/questions/12164680/modelform-data-not-saving-django: 没起作用。

我正在尝试将数据从 ModelForm 保存到模型中。

模型.py:

class Testimonials(models.Model):
    name = models.CharField(max_length=128)
    credentials = models.CharField(max_length=128)
    test = models.CharField(max_length=2000)
    id = models.AutoField(primary_key=True)
    NO = 'NO'
    YES = 'YES'
    APPROVAL = ((NO, 'no'), (YES, 'yes'))
    verified = models.CharField(choices=APPROVAL, default=NO, max_length=3) #Field for making sure only verified testimonials are displayed

    def __unicode__(self):
        return self.id

形式.py:

class TestimonialForm(forms.ModelForm):
    name = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control input-area', 'placeholder': 'Enter your name'}), required=True)
    credentials = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control input-area', 'placeholder': 'Enter your designation'}), required=True)
    test = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control test-form-area', 'placeholder': 'Testimonial', 'rows': '5'}), required=True)
    verified = forms.ChoiceField(widget=forms.HiddenInput())

    class Meta:
        model = Testimonials  

views.py

def add_testimonial(request):
    context = RequestContext(request)
    if request.method == 'POST':
        form = TestimonialForm(request.POST)

        if form.is_valid():
            form.save(commit=True)
            return HttpResponseRedirect('/testimonials/thanks/')
        else:
            print form.errors

    else:
        form = TestimonialForm()

    return render_to_response('templates/add_testimonial.html', {'form': form}, context)

模板:

<form id="testimonial_form" method="POST" action="/testimonials/thanks/">
    {% csrf_token %}
    {% for hidden in form.hidden_fields %}
        {{ hidden }}
    {% endfor %}
    {% for field in form.visible_fields %}
        {{ field.help_text}}
        {{ field }}
    {% endfor %}
    <input type="submit" name="submit" value="Add testimonial" class="btn btn-info test-button"/>
</form>

EDIT:

urls.py

url(r'^testimonials/all/', views.testimonials, name='testimonial'),
url(r'^testimonials/thanks/', views.testimonials_thanks, name='testimonial_thanks'),
url(r'^add_testimonial', views.add_testimonial, name='add_testimonial'),

但是,在重定向时,它不会将表单保存到我从 PHPMyAdmin(使用 MySQLdb)和 Django 管理面板检查的模型中。知道为什么吗?


您正在发帖至/testimonials/thanks/应该改为你的add_testimonial路由让你的视图处理 POST。所以,解决方案是改变action模板表单标签中的值。

如果您可以从 urls.py 中发布相关代码,我可以提供关于操作属性的值应该是什么的更具体的答案。

Update

当发布有效的表单时,重定向将在您的视图中发生。将模板的操作属性值更改为:

<form id="testimonial_form" method="POST" action="{% url 'add_testimonial' %}">

在您看来:

if form.is_valid():
    form.save()
    return HttpResponseRedirect(reverse('testimonial_thanks'))

并确保您的视图中包含以下导入:

from django.core.urlresolvers import reverse

Update 2

在模板中显示表单错误:

<form id="testimonial_form" method="POST" action="{% url 'add_testimonial' %}">
    {% csrf_token %}
    {% if form.non_field_errors %}
        <div class="form-group text-error">
            {{ form.non_field_errors }}
        </div>
    {% endif %}

    {% for hidden in form.hidden_fields %}
        {{ hidden }}
    {% endfor %}
    {% for field in form.visible_fields %}
        {{ field.help_text}}
        {{ field }}
        {% if field.errors %}
            <span>{{ field.errors|striptags }}</span>
        {% endif %}
    {% endfor %}
    <input type="submit" name="submit" value="Add testimonial" class="btn btn-info test-button"/>
</form>

Update 3

现在您可以看到表单错误,您将需要向隐藏字段提供默认值,并且如果用户别无选择(它是隐藏的!),则无需将其设为 ChoiceField。所以改变verified表单字段为:

verified = forms.CharField(widget=forms.HiddenInput(), initial='no')

此外,验证视图中的值也是一个好主意,因为即使该字段是隐藏的,有进取心的邪恶用户仍然可以发布其他值。

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

Django ModelForm 不保存数据 的相关文章

  • 保留完整姓氏,在 pandas 列中获取名字的首字母(如果有的话,还有中间名)

    我有一个 pandas 数据框 其中有一列表示几位网球运动员的姓氏和姓名 如下所示 Player 0 Roddick Andy 1 Federer Roger 2 Tsonga Jo Wilfred 我想保留完整的姓氏并获取姓名的首字母和中
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • Pandas:如果单元格包含特定文本则删除行

    pandas 中的这段代码不起作用 如果该列包含提供的任何文本 数字 我希望它删除该行 目前 我只能在单元格与我的代码中传递的确切文本匹配时才能使其工作 因为它只删除显示 Fin 的单元格不是金融或金融 df2 df df Team Fin
  • 搜索多个字段

    我想我没有正确理解 django haystack 我有一个包含多个字段的数据模型 我希望搜索其中两个字段 class UserProfile models Model user models ForeignKey User unique
  • 没有名为 StringIO 的模块

    我有Python 3 6 我想从另一个名为 run py 的 python 文件执行名为 operation py 的 python 文件 In operation py I do from cStringIO import StringI
  • 如何使用文本相似性删除 pandas 数据框中相似(不重复)的行?

    我有数千个数据 这些数据可能相似也可能不相似 使用 python 的默认函数 drop duplicates 并没有真正的帮助 因为它们只检测相似的数据 例如 如果我的数据包含类似以下内容怎么办 嗨 早上好 嗨 早上好 Python 不会将
  • 结构差异 sudo() run('sudo 命令')

    我想知道函数之间有什么区别sudo 和函数run sudo u user smth 文档上有 sudo 在所有运行方式上都是相同的 除了它总是换行 调用 sudo 程序中的给定命令以提供超级用户 特权 但有几次 sudo cmd 提示我输入
  • 从扫描文档中提取行表 opencv python

    我想从扫描的表中提取信息并将其存储为 csv 现在我的表提取算法执行以下步骤 应用倾斜校正 应用高斯滤波器进行去噪 使用 Otsu 阈值进行二值化 进行形态学开局 Canny 边缘检测 进行霍夫变换以获得表格行 去除重复行 10像素范围内相
  • .pyx 文件出现未知文件类型错误

    我正在尝试构建一个包含 pyx 文件的 Python 包 pyregion 但在构建过程中出现错误 检查以下输出 python setup py build running build running build py creating b
  • 通过索引访问Python字典的元素

    考虑一个像这样的字典 mydict Apple American 16 Mexican 10 Chinese 5 Grapes Arabian 25 Indian 20 例如 我如何访问该字典的特定元素 例如 我想在对 Apple 的第一个
  • Matplotlib 中 x 轴标签的频率和旋转

    我在下面编写了一个简单的脚本来使用 matplotlib 生成图形 我想将 x tick 频率从每月增加到每周并轮换标签 我不知道从哪里开始 x 轴频率 我的旋转线产生错误 TypeError set xticks got an unexp
  • Django 基于类的视图上的 success_url 的反向抱怨循环导入

    当使用基于方法的视图时 重定向为reverse没有抱怨这一点 并且仍然可以找到 root url conf 但是 在基于阶级的观点中 它抱怨 ImproperlyConfigured at blog new post The include
  • 连接mysql和python.3

    我是 django 的新手 使用 django 1 5 和 python 3 3 有没有办法在 python 3 3 上安装 mysqlDB 或 有其他方法可以连接它们吗 PyMySQL https github com petehunt
  • SocketIO + Flask 检测断开连接

    我在这里有一个不同的问题 但意识到它可以简化为 如何检测客户端何时从页面断开连接 关闭其页面或单击链接 换句话说 套接字连接关闭 我想制作一个带有更新用户列表的聊天应用程序 并且我在 Python 上使用 Flask 当用户连接时 浏览器发
  • Django Admin 中的反向内联

    我有以下 2 个型号 现在我需要将模型 A 内联到模型 B 的页面上 模型 py class A models Model name models CharField max length 50 class B models Model n
  • 如何与其他用户一起使用 pyenv?

    如何与其他用户一起使用 pyenv 例如 如果我在用户 test 的环境中安装了 pyenv 则当我以 test 身份登录时可以使用 pyenv 但是 当我以其他用户 例如 root 身份登录时如何使用 pyenv 即使你这么做了 我也会s
  • Django 与谷歌图表

    我试图让谷歌图表显示在我的页面上 但我不知道如何将值从 django 视图传递到 javascript 以便我可以绘制图表 姜戈代码 array Year Sales Expenses 2004 1000 400 2005 1170 460
  • 如何根据第一列创建新列,同时考虑Python Pandas中字母和列表的大小? [复制]

    这个问题在这里已经有答案了 我在 Python Pandas 中有 DataFrame 如下所示 col1 John Simon prd agc Ann White BeN and Ann bad list Ben Wayne 我需要这样做
  • python 线程安全可变对象复制

    Is 蟒蛇的copy http docs python org 2 library copy html模块线程安全吗 如果不是 我应该如何在 python 中以线程安全的方式复制 deepcopy 可变对象 蟒蛇的GIL http en w
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练

随机推荐

  • 如何使用 maven 在 JBoss AS 7 的 MANIFEST.MF 中生成模块依赖关系?

    在 JBoss AS 7 中 依赖于 AS 中包含的库的 Web 应用程序必须在 META INF MANIFEST MF 中声明这些依赖关系 如下所示 Dependencies
  • XCode 7 中的 UI 测试文档 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道 WWDC 2015 上引入的 XCode 7 中的新 UI 测试是否有任何文档 如果没有文档
  • Spring JTA 事务与 Websphere 的 JPA 和 jndi 数据源

    我有多个数据源和一个配置有 JPA 的数据库 我正在使用 websphere 7 我希望将所有这些数据源配置为全局事务 我正在使用下面的 spring 配置 但事务没有按预期的全局事务工作 如果一个数据库发生故障 则另一个数据库将被提交 这
  • 窗口依赖注入

    我想在 WPF 应用程序中使用 Unity 依赖注入 我的窗口抛出 System Windows Markup XamlParseException 对于 MainWindow 类型 没有找到默认构造函数 这是我的代码 应用程序 xaml
  • Excel 工作表到 Numpy 数组

    我正在尝试做一件令人难以置信的简单事情 将 Excel 工作表的部分内容加载到 Numpy 数组中 我发现了一个有用的拼凑 但它令人尴尬地不Pythonic 假设我的工作表被加载为 ws 代码 A np zeros 37 3 for i i
  • 如何在 PL/SQL 中将列添加到现有表之前检查列是否存在?

    在向 Oracle 数据库的表中添加列之前 如何添加简单的检查 我已经包含了用于添加列的 SQL ALTER TABLE db tablename ADD columnname NVARCHAR2 30 可以使用以下视图之一访问有关 Ora
  • NativeScript中有本地存储吗?

    如何保持 NativeScript 应用程序中的数据持久化 谁能告诉一下localStorage in NativeScript 编辑 正在寻找localStorage当时 您的问题可以通过多种方式来解读 这使得给您一个好的答案有点困难 但
  • Scheme/Lisp 嵌套循环和递归

    我正在尝试解决方案中的一个问题 该问题要求我使用嵌套循环或嵌套递归 例如我有两个列表 我必须检查它们的笛卡尔积的条件 解决这些类型问题的最佳方法是什么 有关如何简化这些类型的函数的任何指示吗 I ll elaborate a bit sin
  • C# 中类实例的内存使用情况[重复]

    这个问题在这里已经有答案了 可能的重复 C NET 对象使用多少内存 https stackoverflow com questions 426396 how much memory does a c net object use 就像标题
  • 将文件读入 Perl 中的变量 [重复]

    这个问题在这里已经有答案了 可能的重复 在 Perl 中将文件转换为字符串的最佳方法是什么 https stackoverflow com questions 206661 what is the best way to slurp a f
  • jquery是如何实现$(document).ready()的?

    jquery是如何实现的 document ready 当然我可以阅读代码 但我正在寻找这个概念 概念 jQuery ready http api jquery com ready 虽然 JavaScript 提供了在渲染页面时执行代码的
  • C# '+=' 运算符

    我有一些包含运算符 的代码 具体来说 代码如下 foreach KeyValuePair
  • 在 Google Analytics 中跟踪添加到主屏幕 Web 应用程序

    我有一个移动网络应用程序 其 添加到主屏幕 功能运行良好 我正在尝试确定如何使用 Google Analytics 来最好地跟踪已将应用程序安装到主屏幕的用户的应用程序使用情况 似乎没有默认方法可以在分析中查看应用程序是否处于独立模式 Go
  • css 中的嵌套边框布局?

    我这个工作正常 http jsfiddle net uwcEw http jsfiddle net uwcEw CSS 上的传统边框布局 我想要做的是在边框布局的 中间 内有另一个 5 区域边框布局 重新应用上面相同的模式我得到这个 htt
  • 使用 Angular 将井号作为 URL 查询字符串中的值传递

    我有一个输入标签 在输入时它将根据输入值过滤表中的数据列表 该值通过请求 URL 中的查询字符串传递 通常我会得到返回的数据并且表会被适当更新 但是 当搜索井号 时 我收到 500 内部服务器错误 我的问题是 在查询字符串中传递井号时 An
  • Bigtable数据库设计理论

    我非常精通关系数据库设计的理论和实践 我知道什么有效 什么无效 什么是高性能的 什么是可维护的 几乎 当您开始拥有真实数据时 总是有需要调整的地方 看来我找不到关于分布式可扩展数据库的大量知识 例如 Google 的 Bigtable 用于
  • MATLAB 图像锐化 - 使用(1-高斯低通滤波器)的高斯高通滤波器

    我试图通过设计高斯高通滤波器来锐化图像 我想利用高通滤波器相当于单位矩阵减去低通滤波器的事实来做到这一点 所以我执行了以下操作 image imread Question3 Data Cats jpg read image H 1 fspe
  • 在 sendmultiple 上使用 dropzone.js 发送 formData

    dropzone js 文档 wiki 没有说明如何发送表单字段 我刚刚读到表单数据对象 https developer mozilla org en US docs Web API FormData FormData它说明了如何使用表单字
  • 不同元素类型的名称属性的 jQuery 选择器

    我有一个行表 在其中一列中 某些行具有包含静态文本的跨度 某些行具有可供选择的值的选择 该一列中的所有元素都具有相同的名称属性 在我的表单提交中 我遍历行并希望获取所有列的值 我希望有一个 jQuery 选择器语句来从该元素获取值 span
  • Django ModelForm 不保存数据

    我已经尝试过以下帖子中的解决方案 从 ModelForm 保存数据 https stackoverflow com questions 13046488 saving data from modelform 没起作用 ModelForm数据