![](/img/trans.png)
[英]The form for UpdateView for editing the user profile is not displayed. Django
[英]Form editing in Django UpdateView
我正在嘗試更改其標簽之類的形式,甚至可能更多。 我正在使用UpdateView的get_form方法來更改表單,但是它不起作用
views.py
class SystemUpdateView(SuccessMessageMixin, PermissionRequiredMixin, UpdateView):
"""CRUD update view for :class:`~.System` objects"""
form_class = SystemForm
model = System
permission_required = 'services.change_system'
success_message = "System '%(name)s' updated successfully."
template_name = 'systems/system_form.html'
# when system edited need to modify accountable_team_history
def form_valid(self, form):
system = self.get_object()
if form.instance.accountable_team is not None:
if system.accountable_team == form.instance.accountable_team:
pass
else:
try:
old_team_history = system.accountable_team_history.get(end_date__isnull=True)
old_team_history.end_date = datetime.datetime.now()
old_team_history.save()
except AccountableTeamHistory.DoesNotExist:
pass
new_history = AccountableTeamHistory(resource=system,
accountable_team=form.instance.accountable_team,
effective_date=datetime.datetime.now())
system.accountable_team_history.add(new_history)
system.save()
def get_form(self, form_class=SystemForm):
form_class.fields['primary_purpose_business_use'].label = "Primary purpose/business use"
form_class.fields['secondary_purpose_business_uses'].label = "Secondary purpose/business uses"
return form_class
SystemForm是從forms.py導入的,我不認為get_form方法現在正在做任何事情。 有什么可能是錯的嗎?
您需要實例化form_class的實例並返回它。 請參閱說明文件
def get_form(self, form_class=SystemForm):
form = form_class()
form.fields['primary_purpose_business_use'].label = "Primary purpose/business use"
form.fields['secondary_purpose_business_uses'].label = "Secondary purpose/business uses"
return form
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.