私はDjangoで簡単なフォーラムを構築しています。トピックとサブトピックの2つのモデルがあります。認証されていないユーザーのアクセス権を制限する必要があるため、他のトピックやサブトピックにはすべてのユーザーがアクセスできるようにする必要があります。たとえば、トピックスポーツとサブトピックのサッカーとトピックの管理サブトピックHRがあります。最初のユーザーはすべてのユーザーからアクセス可能でなければなりませんが、2番目のユーザーは認証されたユーザーだけにアクセス可能である必要があります。どのように達成するのですか?あなたがオブジェクトレベルのアクセス許可を設定する必要があなたの要件ごとに認証されていないユーザーの特定のページへのアクセスを制限する
def dashboard(request):
topics = Topic.objects.all()
return render(request, 'djangoforum/dashboard.html', {'topics': topics})
def subtopic_view(request, slug):
current_user = request.user
form = ThreadForm(request.POST, request.FILES)
subtopic = get_object_or_404(SubTopic, slug=slug)
threads = Thread.objects.filter(subtopic=subtopic, ancestor_id=None).order_by('-created_date')
if request.method == 'POST':
if form.is_valid():
thread = form.save(commit=False)
thread.subtopic = subtopic
thread.save()
return redirect(request.path)
return render(request, 'djangoforum/subtopic.html', {
'current_user': current_user,
'form': form,
'subtopic': subtopic,
'threads': threads
})
しかし、問題は、たとえば、サブトピックのFootballを使用したトピックSportsとサブトピックHRを使用したトピック管理です。最初のユーザーはすべてのユーザーからアクセス可能でなければなりませんが、2番目のユーザーは認証されたユーザーだけにアクセス可能である必要があります。 – AlexNikolaev94