Ami*_*Pal -1 django django-models django-admin django-views
我必须将views.py文件中的"is_staff"选项更改为禁用Django-admin页面,但我无法弄清楚以下问题.每当我试图写"user.is_staff"时,它听起来没有任何选择它(is_staff),而is_active存在.是这个导入的问题?
以下是我导入的内容:
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
Run Code Online (Sandbox Code Playgroud)
以下代码我在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('')
Run Code Online (Sandbox Code Playgroud)
整个场景是我有一个模板,显示所有用户的列表与他/她的is_staff选项(True/False).当超级用户选择任何用户is_staff选项时,我想要的是它变为更改并且页面将在同一页面上重定向.
编辑后: 在views.py中定义了两个方法:
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)
Run Code Online (Sandbox Code Playgroud)
另一个是`
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')
Run Code Online (Sandbox Code Playgroud)
我想更改is_staff值和is_active值.方法user_change_status不起作用,而user_block起作用.
Python是一种动态语言.特别是,它不是Java或C++.通常,IDE在动态语言中自动完成功能非常糟糕.
如果您将IDE作为自动完成选项提供或不提供的内容,请务必注意完全错误.有时它会把它弄好,有时则不会.有时它会提供根本不是对象成员的选项.
使用文档,而不是IDE.
| 归档时间: |
|
| 查看次数: |
1310 次 |
| 最近记录: |