您的位置:首页 > 编程语言 > Go语言

Django1.10文档学习笔记五

2016-10-24 08:24 429 查看
18 静态文件

自定义应用的外观

样式表的存放路径polls/static/polls/css/style.css

li a{color:green;}

html页面中添加

{% load static%}

<linkrel="stylesheet"type="text/css"href="{%static
'polls/css/style.css'
%}"/>

添加背景图片

新建polls/static/polls/images/目录,添加background.gif图片

修改样式表

body{background:white
url
("../images/background.gif")no-repeat center center fixed;

-webkit-background-size:cover;

-moz-background-size:
cover
;

-o-background-size:
cover
;

background-size:
cover
;

}

19自定义admin站点

自定义表单

之前是通过在admin.py文件中注册

admin.site.register(models.Question)

admin.site.register(models.Choice)

如果想自定义该页面的外观和工作方式,需要在注册的时候设置

from django.contrib
import
admin

from polls importmodels

# Register your models here.

'''

模型管理类

'''

class
QuestionAdmin(admin.ModelAdmin):

#在页面显示的时候,让时间字段放到问题字段前

fields =['pub_date','question_text']

#注册时传递模型管理类

admin.site.register(models.Question,QuestionAdmin)

admin.site.register(models.Choice)

添加关系对象

在创建question对象的时候可以直接添加choice

#choice对象将在question管理页面进行编辑,默认可以添加三个

修改polls/admin.py

from django.contrib
import
admin

from .models importChoice, Question

# Register your models here.

'''

模型管理类

'''

# class QuestionAdmin(admin.ModelAdmin):

# 让时间字段放到问题字段前

# fields =['pub_date','question_text']

# 注册时传递模型管理类

# admin.site.register(models.Question,QuestionAdmin)

# admin.site.register(models.Choice)

#也可以用扁平化的显示方式TabularInline

class ChoiceInline(admin.StackedInline):

model = Choice

# 默认添加三个

extra =
3

class QuestionAdmin(admin.ModelAdmin):

fieldsets = [

(None, {'fields': ['question_text']}),

('Date information', {'fields': ['pub_date'],'classes':
['collapse']}),

]

inlines = [ChoiceInline]

admin.site.register(Question, QuestionAdmin)

可以看到在add question页面中可以添加三个choice与之关联

Add another Choices 可以继续添加关联

也可以设置其为扁平化的显示方式:

Polls/admin.py

#扁平化的显示方式

class ChoiceInline(admin.TabularInline):

自定义admin change list

也就是看到的问题列表页,可以设置其显示的内容,将对象的所有属性都显示出来

class QuestionAdmin(admin.ModelAdmin):

#设置change_list要显示的内容

list_display = ('question_text','pub_date',
'was_published_recently')

fieldsets = [

(None, {'fields': ['question_text']}),

('Date information', {'fields': ['pub_date'],'classes':
['collapse']}),

]

inlines = [ChoiceInline]

实现单击列标题进行排序

was_published_recently默认是不能排序,修改其显示方式

Model.py中添加如下

was_published_recently.admin_order_field ='pub_date'

was_published_recently.boolean =True

was_published_recently.short_description ='Published recently?'

添加过滤选择框

在admin.py中添加

list_filter = ['pub_date']

添加搜索功能:

Admin.py 中添加

search_fields = ['question_text']

定制admin外观

Manage.py 文件的同级目录下有一个templates目录,创建一个admin目录

修改mysite/settings.py文件

TEMPLATES = [

{

...

'DIRS'
: [os.path.join(BASE_DIR,'templates')],

...

}]

将源码目录下的django/contrib/admin/templates/admin下的base_site.html

放到刚才建好的admin目录下

{% extends "admin/base.html"%}

{% block title%}**站点管理{%
endblock%}

{% block branding%}

<h1id="site-name">

<ahref="{%url
'admin:index'
%}">

{# {{ site_header|default:_('JKX administration') }} #}

{#修改应用标题名称
#}

**管理控制台

</a>

</h1>

{% endblock %}

{% block nav-global%}{%
endblock %}

定制应用模版

定制首页同上
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: