我在某些模板中遇到了身份验证问题。 在我基于模型传递表单的模板中,我只能在登录时访问, 但是在模板中模板非基于模型,我可以访问而无需记录
基于非模型形式:
class ProvSearchForm(forms.Form):
proveedor = forms.ModelChoiceField(queryset=Proveedor.objects.all(),required=True)
mes = forms.ChoiceField(
choices = (
('1',"Enero"),
('2',"Febrero"),
('3',"Marzo"),
('4',"Abril"),
('5',"Mayo"),
('6',"Junio"),
('7',"Julio"),
('8',"Agosto"),
('9',"Septiembre"),
('10',"Octubre"),
('11',"Noviembre"),
('12',"Diciembre"),
),
widget = forms.Select()
)
def __init__(self, *args, **kwargs):
super(ProvSearchForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
我的观点:
@login_required(login_url='/login/')
def BuscarView(request):
if request.method == 'POST':
form = ProvSearchForm(request.POST)
nombre = request.POST.get('proveedor')
mes = request.POST.get('mes')
usuario = request.user
if form.is_valid():
cargaftp = Lectura_FTP()
spftp = cargaftp.leer_ftp()
carga = Actualizar_Descarga()
sp = carga.actualiza(nombre,mes,usuario)
return HttpResponseRedirect('/archivo/')
else:
form = ProvSearchForm()
return render_to_response('buscarform.html',
{'form':form})
我的网址:
url(r'^buscar/$', 'pc.views.BuscarView', name='buscar'),
这个表单是一些参数并将其传递给存储过程,我需要从记录的用户传递用户名,但我得到一个空(或null)值。
在我的模板的导航栏中,我有标记{{ user.username }}
来呈现用户名,但在我传递非基于模型的表单的模板中,我看不到任何用户名,我可以访问beign logged。
如何在非基于模型的表单中启用身份验证,或者如何将用户名从已登录用户传递到此表单。
提前致谢
答案 0 :(得分:1)
您没有通过RequstContext
render_to_response
即
return render_to_response('buscarform.html',
dict, context_instance=RequestContext(request))