현재 사용자로부터 사용자 이름을 얻는 방법을 모르겠습니다.로그인 한 사용자를 모델 필드 django에 넘겨 주십시오.
나는 djano-crispy-forms
로 렌더링 편집 양식이 있습니다
class RecepcionForm(forms.ModelForm):
fecha_recepcion = forms.DateField(widget=DateInput())
def __init__(self,*args,**kwargs):
super(RecepcionForm,self).__init__(*args,**kwargs)
self.helper = FormHelper(self)
self.helper.layout = Layout(
Field('id_proveedor',
'anio',
'mes',
'usuario',
readonly = True
),
Fieldset('',
'fecha_recepcion',
'num_archivos',
Submit('save','Grabar')
)
)
class Meta:
model = DetalleRecepcion
내
views.py
: 내가 로그인 한 사용자 이름과 필드
usuario
를 작성해야
@login_required(login_url='/login/')
def RecepcionView(request):
idp = request.GET.get('i')
anio = request.GET.get('a')
mes = request.GET.get('m')
if request.method == 'POST':
r = DetalleRecepcion.objects.get(id_proveedor=idp,anio=anio,mes=mes)
form = RecepcionForm(request.POST, instance=r)
if form.is_valid():
form.save()
return HttpResponseRedirect('/monitor/')
else:
r = DetalleRecepcion.objects.get(id_proveedor=idp,anio=anio,mes=mes)
form = RecepcionForm(instance=r)
return render_to_response('recepcion.html',
{'form':form},
context_instance=RequestContext(request))
. 양식을 저장하기 전에 form = request.user.username
으로 시도했습니다. 이 작업은 양식 정의 또는보기의 값을 전달해야한다는 혼란 스럽습니다.
검색된 값을 데이터베이스에서 덮어 쓰고 필드를 양식 클래스의 사용자 이름으로 채울 수있는 경우 가능합니다.
다른 질문 양식의 위젯 유형을 어떻게 변경합니까? id_proveedor 필드는 외래 키이며 드롭 다운 상자 (위젯 선택)로 렌더링되지만 값을 편집 할 수없는 레이블에 표시된 값을 표시해야합니다. 읽기 전용 속성으로 시도했지만 사용자가 선택 상자에 글을 쓸 수 없지만 드롭 다운에서 선택할 수 있습니다. 어떻게 위젯을 변경하거나하는 방법을 나는
당신은 항상 당신이 폼 클래스에 필요한 어떤 인수 나 키워드 인수를 전달할 수 있습니다
당신은'request.user.username'에 의해 사용자 이름을 얻을 수 있습니다. –
위젯 유형에 대해 다른 질문을 게시해야합니다. – Brandon