django (五) 第一个django app 创建template,修改admin外观

上一章,我们完成了admin的基本功能,但是,它的外观实在是太丑了,那么接下来,我们就尝试去改变它吧~

要想改变它就要使用Django的模板系统。由于admin是Django自带的app,所以他用的是Django自带的模板系统。

首先你需要在项目中创建一个模板文件夹,你可以把它放在文件中的任何位置,这里假设路径是mysite/templates 注意:这里的mysite是最外面的文件夹。修改settings.py:

TEMPLATE_DIRS = (
    r'C:\mysite\templates',
)

然后在templates目录下新建一个admin文件夹(这一步很重要!)

接下来,我们要从django目录里找到django/contrib/admin/templates/admin文件夹

你可以在Python交互模式下输入以下代码找到django所在位置:

>>> import sys
>>> sys.path=sys.path[1]
>>> import django
>>> print(django.__path__)
['C:\\Python27\\lib\\site-packages\\django']

然后把django/contrib/admin/templates/admin/base_site.html文件copy到你的mysite/templates/admin目录下。

打开base_site.html,内容如下:

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

{% block title %}{{ title }} | {% trans 'Django site admin' %}{% endblock %}

{% block branding %}
<h1 id="site-name">{% trans 'Django administration' %}</h1>
{% endblock %}

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

这个{% block title %},{{title}},都是模板语言,当Django渲染base_site.html时,这个模板语言将自动转换为html语言。现在我们暂时不用深究这些模板语言,只要大概了解含义即可。

注意,你不能直接在django自带的admin文件夹下修改他的模板,你只能将他拷贝在你自己的目录下进行修改。

要想改变登录界面首页,和之前操作一样把admin/index.html拷到你自己的目录下。

编辑文件,你会看到一个变量叫app_list,这个变量包含了Django所有已安装的APP。

现在,我们知道如何自定义了,不过这不是我们的主要学习目标,我们先暂且放一放,继续下面的学习目标。

posted @ 2015-04-19 17:32  坐观云起时  阅读(802)  评论(0编辑  收藏  举报