我不知道如何從當前用戶獲取用戶名。通過登錄用戶到模型字段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
:
@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))
我需要填寫現場usuario
與登錄用戶名。 我在保存表單之前用form = request.user.username
嘗試過。 我很困惑這必須通過窗體定義或視圖中的值傳遞。
如果可以覆蓋從數據庫中檢索到的值並使用表單類中的用戶名填充該字段。
另一個問題 如何更改窗體中的窗口小部件類型。字段id_proveedor是一個外鍵,並呈現爲一個下拉框(選擇小部件),但我需要顯示在無法編輯該值的標籤中顯示的值。 我嘗試使用只讀屬性,但用戶無法在選擇框中書寫,但可以從下拉列表中進行選擇。 怎樣才能改變Widget或我怎麼能禁用下降DWON功能從選擇框提前
感謝
您可以通過'request.user.username'獲取用戶名。 – 2014-10-10 18:32:06
您需要針對窗口小部件類型發佈不同的問題。 – Brandon 2014-10-10 19:35:21