1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Django笔记(admin站点管理)

Django笔记(admin站点管理)

时间:2020-02-19 13:34:26

相关推荐

Django笔记(admin站点管理)

创建超级用户

python manage.py createsuperuser

在models.py中写入模型

from django.db import models# Create your models here.class Player(models.Model):name = models.CharField(max_length=30,verbose_name="游戏名")desc = models.CharField(max_length=251,verbose_name="简介")rate = models.FloatField(verbose_name="评分")def __str__(self):return self.nameclass Humen(models.Model):name = models.CharField(max_length=30,verbose_name="角色名字")player = models.ForeignKey(Player,verbose_name="所属游戏")

在admin.py中注册自己的model

# 注册你的model# admin.site.register(类名)admin.site.register(Player, PlayerAdmin)admin.site.register(Humen)

在admin.py中写入对站点自定义管理类

from django.contrib import adminfrom .models import Player, Humen# Register your models here.class HumenInfo(admin.TabularInline):# 指定modelmodel = Humen# 指定增加的条数extra = 2class PlayerAdmin(admin.ModelAdmin):def get_rate_level(self):if self.rate > 9:return "玩"else:return "不玩"get_rate_level.short_description = "评价"# 显示list_display = ['name', 'rate', 'desc', get_rate_level]# 过滤器list_filter = ['rate', 'desc']# 搜索search_fields = ['name']# 分页list_per_page = 1# 信息分组fieldsets = [("基本信息", {"fields": ("name", "desc")}),("附加信息", {"fields": ("rate",)})]inlines = [HumenInfo]# 注册你的modeladmin.site.register(Player, PlayerAdmin)admin.site.register(Humen)

个性化定制站点管理

1.首先把admin的路径拿到

在虚拟环境目录下的lib目录下下下下的admin里

/home/ubuntu/gz1803/py3_gz1803/lib/python3.6/site-packages/django/contrib/admin/templates/admin

复写里面的login.html文件,在templates里创建admin目录,创建login.html和index.html文件

复制我们路径下的代码,copy到创建的html中,把base_site.html中的一段代码拷贝出来

{% block branding %}<h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('Django administration') }}</a></h1>{% endblock %}

复制到login.html和index.py中

login.html修改的首页的表头 在index.html中修改的

{% block branding %}<h1 id="site-name"><a href="{% url 'admin:index' %}">贼鸡儿困</a></h1>{% endblock %}

{% block branding %}<h1 id="site-name"><a href="{% url 'admin:index' %}">无聊</a></h1>{% endblock %}

定制站点信息

在admin.py 中继承AdminSite

class MyAdmin(admin.AdminSite):# 管理网页的页头部的标题site_header = "qwer"# 浏览窗口显示的页面名称site_title = "asdf"# 查看站点的跳转,site_url = ""site = MyAdmin()site.register(Player, PlayerAdmin)

最后在工程的urls.pyz中修改admin的跳转

from dj06app.admin import siteurlpatterns = [# url(r'^admin/', admin.site.urls),url(r'^admin/', site.urls),

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。