「is_staff」オプションをviews.pyファイルからDjango-adminページを無効にするように変更する必要がありますが、この次の問題を理解できません。「user.is_staff」を書き込もうとすると、is_activeが存在するのに、それを選択するオプション(is_staff)がないように聞こえます。この輸入の問題ですか?
以下は私がインポートしているコンテンツです:
from django.contrib.auth.decorators import login_required
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.contrib.auth.models import User
from django.http import HttpResponseForbidden, HttpResponse
from django.shortcuts import get_object_or_404
from django.views.generic.list_detail import object_detail
from django.views.generic.simple import direct_to_template
from django.utils.translation import ugettext as _
from django.core.mail import send_mail
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
私がviews.pyに書いた次のコード:
def user_change_status(request, id):
user = User.objects.get(pk=id)
if user.is_staff:
user.is_staff = False
else:
user.is_active = True
return HttpResponse('')
シナリオ全体では、is_staffオプション(True / False)を持つすべてのユーザーのリストを表示するテンプレートがあります。スーパーユーザーがユーザーis_staffオプションのいずれかを選択すると、変更され、ページが同じページにリダイレクトされます。
編集後: views.pyで2つのメソッドが定義されています:
def user_change_status(request, id):
user = User.objects.get(pk=id)
if user.is_active:
user.is_staff = False
else:
user.is_staff = True
user.save()
value2 = user.is_staff
return HttpResponse(value2)
もう1つは`
def user_block(request, id):
user = User.objects.get(pk=id)
if user.is_active:
user.is_active = False
else:
user.is_active = True
user.save()
value1 = user.is_active
return HttpResponse('value1')
is_staff値とis_active値を変更したい。メソッドuser_change_statusは機能していませんが、user_blockは機能しています。