2016-08-03 1 views
-1

Form과 연관된 FormView가 제공되면 양식이 제출되면 일부 필드가 FormView (사용자가 채운 필드)로 전송됩니다.FormView - POST에서 전송할 필드를 지정하십시오.

질문 : 필드가 이미 채워 졌기 때문에 사용자가 채우지 않은 경우에도 어떻게 다른 형식의 필드를 FormView에 보낼 수 있습니까? 에 사용하기 위해 사용자가 제공하는 것보다 많은 데이터가 필요합니다. form_valid

+0

* [필드 입력]을 FormView *로 보내면 무엇을 의미합니까? 당신이 올바르게하고 싶은 것을 이해한다면,'get_initial' (https://docs.djangoproject.com/en/1.9/ref/class-based-views/mixins-editing/#django.views.generic)을 사용할 수 있습니다. edit.FormMixin.get_initial)'FormView' 클래스의 함수로 폼을 미리 채 웁니다. 필드를 사용자에게 표시하지 않으려면 양식을 'Form' 정의에서 숨 깁니다. 예제 사용법은 다음과 같습니다. http://stackoverflow.com/questions/22083218/django-how-to-pre-populate-formview-with-dynamic-non-model-data – Siegmeyer

+0

@Siegmeyer 제 말은 ... 제가 미리 채워져 있습니다. 폼에서 사용자는 원하는 필드를 채우고 데이터는 FormView로 보내집니다. 그 외에, 양식의 특정 필드는 사용자가이 특정 필드를 채웠는지 여부에 관계없이 나머지 데이터와 함께 항상 보내지는 것이 좋을 것입니다. (채워진 단계의 기본값을 가짐) – loar

+0

'Form'의 모든 필드 정의는'request.POST'에서 기본적으로 숨겨 지거나, 미리 채워져 있거나, 사용자에 의해 채워져 있거나, 그대로 남아 있습니다. 폼 유효성 검사가 끝나면'form.cleaned_data'로 접근 할 수 있습니다. – Siegmeyer

답변

0

데이터가 중요한 데이터가 아닌 경우 양식에 숨겨진 필드로 추가 할 수 있습니다. django에서는 FormWidget으로이 작업을 수행 할 수 있습니다. 몇 가지 관련 질문 SO 여기에 있습니다 :

이가 그냥 브라우저에서 사용자 인터페이스에 데이터를 숨 깁니다주의하십시오 - 당신은 문제가있는 경우 누군가가 악의적 인 문제로이 데이터를 변경하면 session에 데이터를 쓰는 것이 좋습니다.