Django--admin,models添加自定义名称

不知道从何说起

直接看代码:

models.py

#coding=utf-8

from django.db import models
from django.contrib import admin

# Create your models here.
class Guys(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=40)
    email = models.EmailField()
    def __unicode__(self):
        return u'%s %s' % (self.first_name, self.last_name)
    class Meta:
        verbose_name = '人员管理'
        verbose_name_plural = '人员管理'
    
class Equipname(models.Model):
    name = models.CharField(max_length=100)
    def __unicode__(self):
        return u'%s' % self.name
    class Meta:
        verbose_name = '设备名称管理'
        verbose_name_plural = '设备名称管理'

class Equipstatus(models.Model):
    name = models.ForeignKey(Equipname)
    fru = models.CharField('FRU', max_length=30)
    pn = models.CharField('PN', max_length=30, blank = True)
    sn = models.CharField('SN', max_length=30, blank = True)
    out = models.BooleanField('出库', default = False)
    tempout = models.BooleanField('使用', default = False)
    describe = models.CharField(u'描述', max_length=100, null = True)
    warehouse_people = models.ForeignKey(Guys, verbose_name = u'入库人')
    warehouse_time = models.DateField(verbose_name = '入库时间')
    def __unicode__(self):
        return u'%s' % self.name
    class Meta:
        verbose_name = '设备状态管理'
        verbose_name_plural = '设备状态管理'
        app_label = u"设备管理"  
        db_table = 'app_dc_equipstatus'#一定要加上这句

class profileAdmin(admin.ModelAdmin):
    list_display = ('name', 'fru', 'describe',)
    search_fields=('name__name', )
    #在使用 Django admin 系统中的搜索时可能会出现“related Field has invalid lookup: icontains”错误
    #主要原因是外键查询是需要指定相应的字段的。外键不应该只是一个model
    #而该是另一个表的明确的一个字段。所以我们需要指定特定的字段 "本表外键字段__外键所在表需查询字段"。

admin.py

#coding=utf-8

from django.contrib import admin
from app_DC.models import Guys, Equipstatus, Equipname, profileAdmin

admin.site.register(Guys)
admin.site.register(Equipname)
admin.site.register(Equipstatus, profileAdmin)

注意最后一个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django中,可以使用django-admin来创建自定义的RBAC认证系统。以下是一些步骤: 1. 创建一个新的Django应用程序: ``` python manage.py startapp rbac ``` 2. 在rbac应用程序中创建一个新的文件夹,命名为“rbac”。 3. 在rbac文件夹中创建一个新的文件,命名为“middleware.py”。 4. 在middleware.py中编写一个自定义的认证中间件类,可以参考下面的示例代码: ``` from django.contrib.auth.models import User class RbacMiddleware(object): def process_request(self, request): user = request.user if user.is_authenticated(): user_role = user.groups.first() if user_role: permissions = user_role.permissions.all() request.user_permissions = [p.codename for p in permissions] ``` 该中间件类的作用是在请求处理之前对用户进行认证,并将该用户的权限列表存储在请求对象中。 5. 在settings.py中配置中间件: ``` MIDDLEWARE_CLASSES = ( # ... 'rbac.middleware.RbacMiddleware', # ... ) ``` 6. 创建一个新的文件夹,命名为“rbac_templates”。 7. 在rbac_templates文件夹中创建一个新的文件,命名为“base.html”。 8. 在base.html中编写一个自定义的RBAC模板标签,可以参考下面的示例代码: ``` {% if perms.app_label.permission_name %} <!-- Display some content here --> {% endif %} ``` 该模板标签的作用是根据用户的权限列表显示或隐藏特定的内容。 9. 在需要进行RBAC认证的视图函数中使用模板标签,例如: ``` def my_view(request): return render(request, 'my_template.html', {}) ``` 10. 在my_template.html中使用自定义的RBAC模板标签: ``` {% extends 'rbac_templates/base.html' %} {% block content %} {% if perms.app_label.permission_name %} <h1>Welcome to my page!</h1> {% else %} <p>You do not have permission to view this page.</p> {% endif %} {% endblock %} ``` 以上就是使用django-admin自定义RBAC认证的一些步骤。需要注意的是,这只是一个简单的示例,实际情况可能更加复杂,需要根据具体的应用场景进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值