python - Django:如何在管理中显示文本字段之前修改它

标签 python django django-models django-signals

我有一个带有文本字段的 Django 模型。我想在 Django Admin 中将文本字段的内容呈现给用户之前修改它。

我期望看到与 post_load 等效的信号,但它似乎不存在。

更具体地说:

我有一个接受用户输入的文本字段。在此文本字段中有一个阅读更多分隔符。分隔符之前的文本将进入 introtext 字段,之后的所有内容都会进入 fulltext 字段。

同时,我只想在用户 1 编辑文章时显示他们的文本字段。

我的计划是 on_load 从 introtext 和 fulltext 字段读取数据并将它们组合到全文文本区域中。在 pre_save 上,我将使用阅读更多分隔符分割文本,并将介绍存储在 introtext 中,将剩余部分存储在全文中。

因此,在显示表单之前,我需要使用以下内容填充全文字段

introtext + '<!--readmore-->' + fulltext

我需要能够对现有项目执行此操作。

最佳答案

查看 Providing your own form对于管理页面。

一旦你有了自己的表单,你就可以使用表单中的默认参数来提供你想要的初始值。请参阅 Initial param 上的文档对于表单字段。正如此链接将向您展示的那样,可以使用可调用或常量作为初始值。

关于python - Django:如何在管理中显示文本字段之前修改它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1517626/

相关文章:

Django ORM __in 但不是精确的,而是包含不区分大小写的?

python - 什么是 python runpy 模块?

python - Spark Dataframe 是否具有与 Panda 的合并指示器等效的选项?

python - 在 virtualenv 中通过 pip 安装 PyGObject

django - 在 django admin 的模型字段中即时修改 verbose_name

python - 如何正确删除特定的 ManyToMany 关系?

python - 如何使用 SQLAlchemy 将 pandas DataFrame 更新到 MySQL

python - 如何在pygame中根据鼠标 Action 绘制矩形

python - 在 Django Admin 中保留过滤器

django - 比较在 Django 中存储为字符串的日期