Tôi đang cố gắng tạo biểu mẫu tùy chỉnh django để thay đổi tên người dùng và email người dùng cho một ứng dụng. Đó là lý do tại sao tôi cần chuyển chi tiết người dùng từ phiên này sang biểu mẫu khác để kiểm tra xem người dùng đã đăng nhập có tồn tại hay không. Tôi đang làm theo cách này:Chuyển ** kwargs sang Django Form
trong views.py
personal_info_form = PersonalInfoForm(prefix='personal_info',
user_details=user_details)
nơi user_details
là một cuốn từ điển:
'user_details': [{'username': u'username',
'registration_date': datetime.date(2009, 10, 22),
'id': 13, 'email': u'[email protected]'}]}
Trong forms.py Tôi có đoạn mã sau:
class PersonalInfoForm(forms.Form):
def __init__(self, *args, **kwargs):
user_details = kwargs.pop('user_details', None)
super(PersonalInfoForm, self).__init__(*args, **kwargs)
username = forms.CharField(required=True, initial=user_details[0]['username'])
email = forms.EmailField(required=True)
Và tôi nhận được lỗi sau:
name 'user_details' is not defined
Tôi đã cố gắng truy cập vào nó với self.user_details
và chỉ user_details
và nó mang lại cho tôi những lỗi tương tự
+1 đẹp. 10 giây trước khi gửi giải pháp rất giống của tôi, biểu ngữ màu da cam bật lên ... được thực hiện độc đáo! – czarchaic
Cảm ơn bạn, tôi đang đọc về phạm vi ngay bây giờ :) –