代码之家  ›  专栏  ›  技术社区  ›  data team

如何在admin中加载类。py基于用户权限

  •  2
  • data team  · 技术社区  · 7 年前

    我一直在开发一个应用程序 song link submission django

    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals
    
    from django.contrib import admin
    from django.contrib.auth.models import User
    
    # Register your models here.
    from .models import SongLinks
    
    
    class SongLinksAdmin(admin.ModelAdmin):
        if request.user.is_staff:
            readonly_fields=('ip','dedicated_to','dedicated_message')
            list_display = ('song_link','dedicated_to','dedicated_message','ip')
        else: 
            list_display = ('song_link','dedicated_to','dedicated_message','ip')
    admin.site.register(SongLinks, SongLinksAdmin)
    

    这给了我一个错误:

    if request.user.is_staff:
    

    NameError:未定义名称“request”

    这有什么不对?

    1 回复  |  直到 7 年前
        1
  •  1
  •   D.Nibon    7 年前
    @admin.register(SongLinks)
    class SongLinksAdmin(admin.ModelAdmin):
        list_display = ('song_link', 'dedicated_to', 'dedicated_message', 'ip')
    
        def get_readonly_fields(self, request, obj=None):
            if not request.user.is_superuser:
                return ('ip', 'dedicated_to', 'dedicated_message')
            return ()