小编Tec*_*ech的帖子

如何检查用户是否是 django 中的超级用户

我在ListView页面上列出注册用户,并尝试显示用户是否是超级用户。

我的主用户是使用python manage.py createsuperuser命令创建的,我确信它是超级用户,因为我也从管理面板检查过。

当我尝试打印它是否是超级用户时,我的代码总是显示输出False。这是我的代码:

视图.py

@method_decorator(staff_member_required, name='dispatch')
class Uyeler(ListView):
    model = User
    paginate_by = 40
    ordering = ['-pk']
    template_name = "panel/uyeler.html"
Run Code Online (Sandbox Code Playgroud)

并在模板文件中:

{% for obj in object_list %} 
  {% if obj.is_superuser %}
    SuperUser 
  {% else %}
    Not SuperUser {{ obj.is_superuser }}
  {% endif %}
    
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

对于包括我的超级用户帐户在内的所有用户,我的 html 输出都是“ Not SuperUser False ”。有任何想法吗?

python django django-views django-users

9
推荐指数
2
解决办法
3万
查看次数

如何与django比较日期

我有一个Post模型,它具有vip会员结束时间.我想算一下活跃的会员资格.

我的模特:

class Post(models.Model):
    title = models.CharField(max_length=250,verbose_name ='Ba?l?k')
    image =  models.ImageField(upload_to=upload_location, null=True, blank=True,verbose_name ='Vitrin Foto?raf?')
    vip = models.BooleanField(default=False,verbose_name ='Vip')
    phone = models.CharField(max_length=11,verbose_name ='Telefon')
    vipend = models.DateTimeField(auto_now=False,auto_now_add=False,null=True,blank=True,verbose_name ='Vip Biti?')
Run Code Online (Sandbox Code Playgroud)

我的看法:

def yonetim(request):

endvipcount = Post.objects.fiter(vip=True,vipend<datetime.now()).count() # This part is obviously wrong # 

context = {
    "endvipcount": endvipcount ,

    }
 return render(request, "yonetici.html", context)
Run Code Online (Sandbox Code Playgroud)

错误:

endvipcount = Post.objects.fiter(vip=True, vipend < datetime.now()).count()
                                                       ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我想要主动和被动的vip成员计数.这样做的理想方式是什么?

python django datetime

2
推荐指数
1
解决办法
49
查看次数

标签 统计

django ×2

python ×2

datetime ×1

django-users ×1

django-views ×1