gpt4 book ai didi

python - 如何添加默认(隐藏)值以在 Django 中形成模板?

转载 作者:太空狗 更新时间:2023-10-29 21:23:19 27 4
gpt4 key购买 nike

给定一个 Django.db 模型类:

class P(models.Model):
type = models.ForeignKey(Type) # Type is another models.Model class
name = models.CharField()

人们希望创建一个具有指定类型的新 P,即如何使“类型”成为默认的隐藏字段(来自用户),其中类型是这样给出的:

http://x.y/P/new?type=3 

因此在表单中不会出现“类型”字段,但是当保存 P 时,其类型将具有 id 3(即 Type.objects.get(pk=3))。

其次,当使用通用 Django View 时,如何(以及是否可能)通过 urls.py 在 url 中指定“默认”类型,即。

urlpatterns = ('django.generic.views.create_update',
url(r'^/new$', 'create_object', { 'model': P }, name='new_P'),
)

我发现这很难描述,这可能是问题的一部分。 :) 非常感谢您的意见!

最佳答案

小部件 django.forms.widgets.HiddenInput 会将您的字段呈现为隐藏。

在大多数情况下,我认为您会发现任何隐藏的表单值也可以指定为 url 参数。换句话说:

<form action="new/{{your_hidden_value}}" method="post">
....
</form>

在 urls.py 中:

^/new/(?P<hidden_value>\w+)/

我自己更喜欢这种技术,因为当我需要跟踪模型实例的主键时,我才真正发现自己需要隐藏的表单字段——在这种情况下,“edit/pkey”url 用于启动编辑/返回表单,并在保存时接收 POST。

关于python - 如何添加默认(隐藏)值以在 Django 中形成模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/271244/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com