장고 several built-in ways to limit access to views and model resources이 문제를 이해 바랍니다. 코드에서 알 수 있듯이 리소스별로 모델 리소스에 대한 액세스를 제한해야하는 것처럼 들립니다. 그 사용 사례를 가정
는 여기 접근 방식 :
# models.py
class Trial(models.Model):
# whatever fields
login_required = models.BooleanField(default=False)
# views.py
def trial_detail(request, id):
trial = get_object_or_404(Trial, pk=id)
if trial.login_required and not request.user.is_authenticated():
return HttpResponseRedirect(reverse('your-login-view'))
return render(request, 'your-template.html', {'trial': trial})
당신에게 인증을 필요로하는 일부 trial
모델을 가지고 할 수있는 유연성을 줄 것이고, 그렇지 않은 일부.
사용자 당 액세스를 잠글 필요가있는 경우 그룹, 맞춤 권한 등을 통해 액세스를 차단할 수 있습니다.
일부 코드를 표시하십시오. [login_required] (https://docs.djangoproject.com/en/1.5/topics/auth/default/#the-login-required-decorator) 데코레이터가 필요합니다. – freakish
매개 변수를 기반으로보기를 보호하려고합니까? 내 생각에 그것은 가능하지만 구현하기가 어렵습니다. 보호 된 데이터를 전용보기로 추출하여 [django docs] (https://docs.djangoproject.com/en/1.6/topics/auth/default/#limiting-access-to-logged)에 설명 된 재부팅 중 하나를 사용하여 보호합니다. -in-users) – J0HN