zoukankan      html  css  js  c++  java
  • Django1.10文档学习笔记五

    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 %}

     

    定制应用模版

    定制首页同上

  • 相关阅读:
    Unbutu之web环境部署——常用软件安装
    利用百度uaredirect.js判断手机终端并自动跳转
    原生Ajax附件上传简单实例
    shader glsl 函数图举例
    pixijs释放纹理的方法
    pixijs shader透明度设置方法
    pixijs 用canvas的方法
    threejs 解决模型缩小有黑边的解决方案
    threejs 透明模型遮挡后面模型解决方案
    javascript canvas 清除图片空白多余的方法
  • 原文地址:https://www.cnblogs.com/retacn-yue/p/6194184.html
Copyright © 2011-2022 走看看