如何在 Django ModelForms 中加载实例

2023-12-06

我正在使用 Django 的用户模型。

如何使用 Django ModelForm 来预填充模板中的值?我知道我必须使用该表单的实例,但是下面我哪里出错了:

模型.py:

class Site(models.Model):
   user = models.ForeignKey(User, )
   site_name = models.CharField(max_length=128, blank=False, null=False)

形式.py:

class SiteForm(forms.ModelForm):
      class Meta:
            model = Site
            fields = '__all__'

视图.py:

def settings(request):

    site_profile = Site.objects.get(user=request.user)

    if request.method == "POST":
        form = SiteForm( instance=site_profile )
            if form.is_valid():
                form.save()

                return redirect('dashboard_home')

        else:
            form = SiteForm()

        return render(request, "dashboard/settings.html", {'form': form })

此代码返回的页面没有错误,但不会使用数据库中的值预填充表单字段。

我只能假设instance没有正确加载?


def settings(request):
    if request.method == "POST":
        form = SiteForm(request.POST, instance=request.user.site_profile)
        if form.is_valid():
            form.save()
            return redirect('dashboard_home')
    site_profile = Site.objects.get(user=request.user)
    form = SiteForm(instance=site_profile)
    return render(request, "dashboard/settings.html", {'form': form })

你的压痕已关闭,你从未通过site_profile到表单来填充它。如果发生POST请求您不想传递旧版本site_profile到表格。我假设您想要用户在模板中填写的新值。

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

如何在 Django ModelForms 中加载实例 的相关文章

  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • django 迁移地狱,丢了一张表。试图把它找回来

    所以我在数据库中删除了一个表 并且希望将其恢复 重新运行迁移会出现错误表不存在 经过一番搜寻后 我了解到我可以删除 django migrations 中应用程序名为我的应用程序的所有内容 所以我这样做了 重新运行迁移 它开始工作 然后抱怨
  • 如何使用 AWS Lambda Python 读取 AWS S3 存储的 Word 文档(.doc 和 .docx)文件内容?

    我的场景是 我尝试使用 python 实现从 Aws Lambda 读取 AWS 存储的 S3 word 文档 doc 和 docx 文件内容 下面的代码是我使用的 我的问题是我可以获取文件名 但无法读取内容 def lambda hand
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size
  • 如何在Python脚本中从youtube-dl中提取文件大小?

    我是 python 编程新手 我想在下载之前提取视频 音频大小 任何 YouTube 视频 gt gt gt from youtube dl import YoutubeDL gt gt gt url https www youtube c

随机推荐

  • 如何使用 c#.net 4.0 在最大定义的并行线程中运行任务

    我有 1 个方法 我想在 10 个不同的并行线程中运行 所有方法都是独立的 彼此之间没有依赖关系 我的问题是 如果我有 100 个项目要处理并且想一次处理 10 个 那么如何做一次运行 10 次 我创建了一个示例代码 我正在使用Parall
  • URL 重写 - 初学者指南

    我需要学习如何对网站进行 URL 重写以获得漂亮的 URL 通过阅读 50 篇教程 我对它的工作原理有了一个大概的了解 但他们都没有真正发挥作用 也从未设法使其正常工作 您知道有哪些适合我入门的教程吗 这是我想如何使用它的示例 这是基本链接
  • 如何使用Dompdf转换多个html文件?

    我在做什么 我正在使用一个名为的 PHP 库Dompdf将我的 HTML 文件转换为 PDF 我已成功将单个 HTML 文件转换为 PDF 我正在尝试做的事情 现在我有多个报告 我想将它们转换为 PDF 文件 我在做什么 我在这里有一个示例
  • 为什么扫描仪会跳过用户的输入

    我有一个小任务 允许用户输入任何国家的地区及其邻居 我做了所有的事情 只是有一个小问题 那就是当我运行我的代码时 程序要求用户输入区域的数量 如果用户输入 13 或数字大于 10 系统会认为该数字就像两个输入 它不会允许用户为第二个问题输入
  • iOS 11 Safari 引导模式文本区域位于光标之外

    在 iOS 11 safari 中 输入文本框光标位于输入文本框之外 我们不明白为什么会出现这个问题 正如您所看到的 我的焦点文本框是电子邮件文本输入 但我的光标位于其中 这只发生在 iOS 11 Safari 上 我通过添加解决了这个问题
  • 找不到 pandas==1.3.1 的匹配发行版

    我目前拥有版本 1 1 5 的 Pandas 我正在尝试使用以下命令安装最新版本的 Pandas pip install pandas 1 3 1 但是 我收到如下错误 ERROR Could not find a version that
  • 无法在 Eclipse 中加载 Maven 项目中的 Widgetsets

    我使用 maven 创建了一个 vaadin Web 应用程序eclipse 特别是我使用了原型vaadin archetype touchkit如中所述瓦丁之书 20 3 4 在没有对默认生成的代码进行任何更改的情况下 我已经使用带有目标
  • 如何集成 Expression> 来清理我的 Linq-to-Entity 查询?

    我想使用Expression
  • 打印时 pyodbc 弃用警告

    当我跑步时print cursor fetchone pyodbc 包 我有以下警告 main py 33 DeprecationWarning PyUnicode FromUnicode NULL size is deprecated u
  • libxml/tree.h 没有这样的文件或目录

    我收到以下错误 libxml tree h 没有这样的文件或目录 我已经添加了libxml2 dylib到我的项目 但是我遇到了这种麻烦 请帮我 遵循指示here 在 设置项目文件 下 设置您的项目文件 您需要将 libxml2 dylib
  • .htaccess 重定向域别名'

    我有一个客户 它有大量的域别名 并希望它们全部重定向到网站上的一个主域 他们还想知道哪个域别名正在执行重定向 我已经把那部分写下来了 但我想将代码优化到最好 最正确的方式 并消除我必须编写的代码量 我想知道是否有办法将所使用的域别名传递给
  • qt.qpa.xcb:无法连接显示 qt.qpa.plugin:无法加载 Qt 平台插件“xcb”

    运行下面的代码后 我收到以下错误 Got keys from plugin meta data xcb QFactoryLoader QFactoryLoader checking directory path usr bin platfo
  • Windows 8 商店应用程序是否支持 MS Access 数据库?

    我刚刚开始学习 Windows 8 应用商店应用程序编程 并遇到了一个问题 Windows 8 应用商店应用程序是否支持 MS Access 数据库 如果不是那么它支持哪些数据库 根据您对支持的定义 您可以创建一个 WCF 服务 允许您从
  • 如何获取当前正在执行的 javascript 代码的文件路径

    我正在尝试做类似 C 的事情 include filename c 或PHPinclude dirname FILE filename php 但在 JavaScript 中 我知道如果我可以获得加载 js 文件的 URL 例如标签的 sr
  • 如何使用 .NET 创建具有特定扩展名的临时文件?

    我需要生成一个扩展名为 csv 的唯一临时文件 我现在做的是 string filepath System IO Path GetTempFileName Replace tmp csv 但是 这并不能保证我的 csv 文件是唯一的 我知道
  • 定义我自己的命令

    我正在尝试在 MacVim 中定义自己的命令 将 c 语句或语句范围转换为注释 所以我把它放在我的 vimrc 中 command range Com
  • standard_init_linux.go:211:exec 用户进程导致 alpine linux 和 python“没有这样的文件或目录”

    我有一个目录 其中包含 docker 文件 attack py 和requirements txt 使用它 我创建了以下 dockerfile FROM arm64v8 python 3 7 alpine COPY qemu arm sta
  • Android 地图 NullPointerException ItemizedOverlay

    这根本没有引用我的代码中的任何地方 我怎样才能弄清真相呢 java lang NullPointerException at com google android maps OverlayBundle draw OverlayBundle
  • 如何跨浏览器一致地对齐复选框及其标签

    这是经常困扰我的 CSS 小问题之一 Stack Overflow 周围的人如何垂直对齐checkboxes和他们的labels始终如一地跨浏览器 每当我在 Safari 中正确对齐它们时 通常使用vertical align baseli
  • 如何在 Django ModelForms 中加载实例

    我正在使用 Django 的用户模型 如何使用 Django ModelForm 来预填充模板中的值 我知道我必须使用该表单的实例 但是下面我哪里出错了 模型 py class Site models Model user models F