Python 如何更改默认的Django表单名称?
为了更好地了解我正在加载哪个表单的页面,我想更改在模板中访问该表单的名称。据我所知,默认设置为“form”。在下面的截图中,我试图用“form_inv”加载表单,但这不起作用Python 如何更改默认的Django表单名称?,python,django,forms,bootstrap-4,Python,Django,Forms,Bootstrap 4,为了更好地了解我正在加载哪个表单的页面,我想更改在模板中访问该表单的名称。据我所知,默认设置为“form”。在下面的截图中,我试图用“form_inv”加载表单,但这不起作用 {% extends "dashboard/base.html" %} {% load crispy_forms_tags %} {% block content %} <div class="content-section"> <form
{% extends "dashboard/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<div class="content-section">
<form method="POST">
{% csrf_token %}
<fieldset class="form-group">
<legend class="border-bottom mb-4">Create Investment</legend>
{{ form_inv|crispy }}
</fieldset>
<div class="form-group">
<button class="btn btn-outline-info" type="submit">Create</button>
</div>
</form>
</div>
{% endblock content %}
Django观点:
class MoneyCreateView(LoginRequiredMixin, CreateView):
model = MoneyGroups
template_name = 'dashboard/scenario_form.html' # <app>/<model>_<viewtype>.html
context_object_name = 'investments'
fields = ['title', 'size', 'interest']
success_url = '/dashboard/'
def form_valid(self, form):
form.instance.author = self.request.user #add the author to the form before it is submitted
return super().form_valid(form)
class MoneyCreateView(LoginRequiredMixin,CreateView):
模型=货币团体
template_name='dashboard/scenario_form.html'./35;.html
上下文\对象\名称='投资'
字段=['title','size','interest']
成功\u url='/dashboard/'
def表单_有效(自身、表单):
form.instance.author=self.request.user#在提交表单之前将作者添加到表单中
返回super().form_有效(form)
我必须在模型或视图中更改/添加什么参数,才能更改可以在模板中访问它的名称
谢谢你的帮助 不确定为什么要这样做,但将get\u context\u data方法添加到视图中,如下所示:
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context[‘form_inv’] = context[‘form’]
return context
非常感谢你的回答。这成功了!我的希望是,当我用不同的名字命名时,我可以在一个页面上加载两个不同的表单。但情况似乎并非如此。@SirIsacson您当然可以在同一视图中使用两个表单,但对于第二个表单,您需要将其添加为不同的名称,并更新更多的方法。如果您让我确切地知道您想要做什么,我可以举一个例子感谢您的帮助!我终于做到了。我对django很陌生,所以一切都还很艰难。欢迎光临,很高兴我能帮上忙,请别忘了把它标记为正确的
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context[‘form_inv’] = context[‘form’]
return context