django - 如何使用 django UpdateView 填充现有的 html 表单?
问题描述
我正在尝试实现一个简单的 UpdateView,但我想使用自己的模板。使用 djangos auto_population 是有效的,但不是我想要的,因为我有很多格式不同的字段。
<form method="post" action="#">
{% csrf_token %}
{{ form.as_p }}
<input type="submit">
</form>
但我想使用我自己的表单模板,如下所示:
编辑模板.html
<form class="form-horizontal" role="form" method="POST" action="{% url 'update' pk=abc %}">
{% csrf_token %}
<input name='varX' id="varX" type="text" placeholder="" class="form-class">
<input name='varY' id="varY" type="text" placeholder="" class="form-class">
</form>
视图.py
class ModelUpdate(UpdateView):
model = MyModel
fields = ['varX','varY']
现在我想用我的对象数据填充该表单,但该表单是空的。
UpdateView 还将数据两次传递给模板:一次作为“对象”,一次作为“mymodel”。
我也试过更新
get_context_data
通过添加
context.update( model_to_dict(myModelData))
但这也不会改变任何事情。
如何使用 djangos 基于类的视图填充我的自定义表单?
解决方案
尝试这个:
def get_initial(self):
initial = super().get_initial()
initial['my_form_field1'] = self.request.something
return initial
推荐阅读
- rascal - M3 Java:如何检查一个类是否从接口实现了一个函数
- haskell - Haskell 中的 NTLM 身份验证
- c# - 带有参数的 ASP.NET Core Razor 页面路由
- glue42 - 如何使窗口始终出现在指定位置?
- php - Explode() 函数未按预期工作
- reactjs - 使用钩子 React 进行切换时出现意外输出但预期视图
- asp.net-core - 在 asp.net 核心应用程序中将控制台输出捕获到 Azure ApplicationInsights
- html - 对于 iOS iFrame 修复,iFrame 和 Div ID 无法正常工作
- java - 插入数据库时如何修复主键的重复条目?
- json - 使用 Murmur3 哈希作为数据库主键的优缺点