私は Django 1.4 とクリスピー フォームを使用しています。それにはいくつかの問題があります。私は例を見ていますが、まだ理解できません。要求されたユーザーを編集する「pk」引数の例があります。しかし今、私は自分で編集する必要があります。自分のデータを編集するため。
次のようなエラーが発生しました-
Failed lookup for key [form] in u ....
長い、長い出力があります。そのフォームを他のビューに配置し、正常に動作するため、フォームが構築されました。
これが私の見解です
class ManagerProfileEditView(LoginRequiredMixin, TemplateView):
model = User
template_name = 'profile/edit.html'
form_class = ProfileEditForm
def get_success_url(self):
messages.success(self.request, _('Profile was edited'))
return reverse('manager:profile_edit')
そしてこちらのフォーム
class ProfileEditForm(forms.ModelForm):
class Meta:
model = User
field = ('email', 'first_name', 'last_name')
helper = FormHelper()
def __init__(self, *args, **kwargs):
super(ProfileEditForm, self).__init__(*args, **kwargs)
self.helper.form_class = 'form-horizontal'
self.helper.layout = Layout(
Field('email', 'first_name', 'last_name',
FormActions(
Submit('save_changes', _('Save changes'), css_class="btn btn-primary"),
Submit('cancel', _('Cancel')),
)
)
)
私が理解している限り、「管理」するユーザーを配置する必要があります(これは「self.user」のようなものです)
あなたが私の問題を理解してくれることを願っています
ps テンプレートの出力は
{% crispy form %}