首页 > 解决方案 > 在 django 中将数据发送到下一页的表单

问题描述

我有两个模型 Log 和 LogDetail(它们通过 FK 连接)。这是我要创建的流程:

  1. 创建一个 Log 对象,并重定向到它的详细信息页面
  2. 在详细信息页面中,有一个创建 LogDetail 对象的链接
  3. 当用户点击创建 LogDetail 链接时,它应该使用 Log ID 作为表单中 FK 的默认值

问题是我不知道如何发送/接收日志 ID

标签: pythonpython-3.xdjango

解决方案


@Kurosh

Option1 对于您的流程,您有两个选择。一种是在您的 url 路径中传递 Log ID 并使用 urlpatterns 获取 id。例如在您的模板中:

<form action='url/to/createview/<int:log_id>' method="post">

在你的 urls.py

path('url/to/createview/<int:log_id>',views.create_log_detail);

您可以url/to/createview根据需要进行更改。

选项2 在详细信息页面上,将表单输入字段中的 logID 添加为隐藏字段,值将在表单中作为 post 变量出现在您的 logDetail 创建视图中。例子:

<input name='log_id' value="{{ object.pk }}" type="hidden">

然后,您可以在视图方法中处理此值。

我希望这是有帮助的。要获得更具体的答案,您将不得不分享以下代码:

  1. 创建 LogDetail 对象的视图方法
  2. 你的 urls.py
  3. 日志对象详细信息页面的模板 html 文件。

推荐阅读