2011-01-25 8 views
7
(r'^login/?$','django.contrib.auth.views.login',{'template_name':'login.html', 'authentication_form':CustomAuthenticationForm}), 

Come è necessario aggiungere HTTPS a questo? Di solito ho un decoratore per questo ...Come si richiede HTTPS per questa vista Django?

Ma in questo caso non posso applicarlo.

def secure_required(view_func): 
    """Decorator makes sure URL is accessed over https.""" 
    def _wrapped_view_func(request, *args, **kwargs): 
     if not request.is_secure(): 
      if getattr(settings, 'HTTPS_SUPPORT', True): 
       request_url = request.build_absolute_uri(request.get_full_path()) 
       secure_url = request_url.replace('http://', 'https://') 
       return HttpResponseRedirect(secure_url) 
     return view_func(request, *args, **kwargs) 
    return _wrapped_view_func 
+0

Perché si fa a non applicarlo? –

+1

Come si applica? – TIMEX

risposta

5

Credo si può avvolgere la funzione in questo modo:

from django.contrib.auth.views import login 
from <<wherever>> import secure_required 


urlpatterns = patterns('', 
    (r'^login/?$',secure_required(login),{'template_name':'login.html', 'authentication_form':CustomAuthenticationForm}), 
) 
Problemi correlati