扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
在颍东等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站制作、成都外贸网站建设 网站设计制作定制网站设计,公司网站建设,企业网站建设,品牌网站制作,营销型网站,外贸营销网站建设,颍东网站建设费用合理。这篇文章给大家分享的是有关django管理admin用户的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
admin组件使用
Django 提供了基于 web 的管理工具.
Django 自动管理工具是 django.contrib 的一部分.你可以在项目的settings.py 中的 INSTALLED_APPS 看到它:
# Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', "app01" ]
django.contrib 是一套庞大的功能集,它是 Django 基本代码的组成部分.
激活管理工具
通常我们在生成项目时会在 urls.py 中自动设置好,
from django.conf.urls import urlfrom django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), ]
当这一切都配置好后,Django 管理工具就可以运行了.
使用管理工具
启动开发服务器,然后在浏览器中访问 http://127.0.0.1:8000/admin/,得到登陆界面,你可以通过命令 python manage.py createsuperuser 来创建超级用户。
为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin
eg:
models.py
from django.db import models# Create your models here.class Author(models.Model): nid = models.AutoField(primary_key=True) name=models.CharField( max_length=32) age=models.IntegerField() # 与AuthorDetail建立一对一的关系 authorDetail=models.OneToOneField(to="AuthorDetail",on_delete=models.CASCADE) def __str__(self): return self.nameclass AuthorDetail(models.Model): nid = models.AutoField(primary_key=True) birthday=models.DateField() telephone=models.BigIntegerField() addr=models.CharField( max_length=64) def __str__(self): return str(self.telephone)class Publish(models.Model): nid = models.AutoField(primary_key=True) name=models.CharField( max_length=32) city=models.CharField( max_length=32) email=models.EmailField() def __str__(self): return self.nameclass Book(models.Model): nid = models.AutoField(primary_key=True) title = models.CharField( max_length=32) publishDate=models.DateField() price=models.DecimalField(max_digits=5,decimal_places=2) publish=models.ForeignKey(to="Publish",to_field="nid",on_delete=models.CASCADE) authors=models.ManyToManyField(to='Author',) def __str__(self): return self.title
admin.py
from app01.models import Book from app01.models import Publish from app01.models import Author from app01.models import AuthorDetail admin.site.register(Book) admin.site.register(Publish) admin.site.register(Author) admin.site.register(AuthorDetail)
admin定制
在 admin.py 中只需要将 Mode 中的某个类注册,即可在Admin中实现增删改查的功能,如:
admin.site.register(Book)
但是,这种方式比较简单,如果想要进行更多的定制操作,需要利用ModelAdmin进行操作,如:
# 方式一: class BookConfig(admin.ModelAdmin): list_display = ["title","price","publishDate"] admin.site.register(Book,BookConfig) # 第一个参数可以是元祖 # 方式二: @admin.register(Book,BookConfig) # 第一个参数可以是元祖 class BookConfig(admin.ModelAdmin): list_display = ["title","price","publishDate"]
感谢各位的阅读!关于django管理admin用户的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流