bu kod belı sayfalra ulasmanızı engeller(girs yapilmadikca)
import urllib2
from django.http import HttpResponseRedirect
from django.utils.translation import ugettext as _
from django.contrib.auth.decorators import user_passes_test
from django.conf import settings
from prive.kalbatisi import messages
from prive.profile.models import Profil as Profile
from l10n.urlresolvers import reverse
CREATE_TASK = 1
def anonymous_only(func):
def decorator(*args, **kwargs):
request = args[0]
if request.user.is_authenticated():
messages.info(request,
_("Ygiris yapmadiniz."))
return HttpResponseRedirect(reverse('anasayfa'))
return func(*args, **kwargs)
return decorator
def login_required(func=None, profile_required=True):
if profile_required:
test = lambda u: (u.is_authenticated() and
len(Profile.objects.filter(user=u)) > 0)
else:
test = lambda u: u.is_authenticated()
actual_decorator = user_passes_test(test)
if func:
return actual_decorator(func)
return actual_decorator
def secure_required(func):
def decorator(*args, **kwargs):
request = args[0]
enabled_https = getattr(settings, 'SESSION_COOKIE_SECURE', False)
if enabled_https and not request.is_secure():
http_url = request.build_absolute_uri(request.get_full_path())
https_url = 'https:' + urllib2.splittype(http_url)[1]
return HttpResponseRedirect(https_url)
return func(*args, **kwargs)
return decorator django icin profil decorators(login gerekli gibi kisitliyaci decorator)
0
●848
- 18-08-2012, 09:06:19