1

我已经用 pinax-bootstrap 主题安装了 pinax(0.9a2)!

现在我想自定义它并重新设计主题,但我没有在我的模板文件夹中找到任何 *.css 文件。那么如何自定义bootstrap主题的css呢?

4

1 回答 1

4

所以这就是我如何让我的基本 pinax 项目启动并运行:-

mkvirtualenv -p python2.7 --distribute mysite
cd ~/work
pinax-admin setup_project -b basic mysite
cd mysite
pip install -r requirements/base.txt
python manage.py collectstatic
python manage.py syncdb
python manage.py runserver 8001

这给了我这个: -

在此处输入图像描述

现在我的 pinax 在默认情况下与 bootstrap 主题完美运行,我可以继续使用 CSS 覆盖来自定义我的主题。

由于我的 pinax settings.py 指向

# Additional directories which hold static files
STATICFILES_DIRS = [
    os.path.join(PROJECT_ROOT, "static"),
]

我们将把我们所有的css文件放在我们项目根目录“mysite”下的这个静态目录中。

CSS 覆盖通过在我们的模板中加载引导程序的 css 后加载我们自己的自定义 css 文件来工作。

我们指定的 CSS 类及其新定义将覆盖 bootstrap 提供的默认值。这就是我们自定义引导主题的方式,同时保留 bootstrap.css,这就是为什么我们的static目录在开始时为空的原因。

例如,我们在bootstrap.min.css默认情况下定义了我们的 topbar 类。

.topbar-inner, .topbar .fill {
background-color: #222;
...
}

我们可以在目录中指定我们自己的 css 文件,在我们的文件中static加载这个 css 文件,templates/site_base.html并在我们自己的 css 文件中为顶部栏指定一种新颜色,如下所示:-

.topbar-inner, .topbar .fill {
    background-color: red;
    background-image: -webkit-linear-gradient(top, #333, #FF4242);
    background-image: -o-linear-gradient(top, #333, #FF4242);
    background-image: linear-gradient(top, #333, #FF4242);
}

这将导致我们主页上的黑色顶栏呈现为黑红色。这是使用覆盖来自定义我们的 css 类的基本前提,其默认值已经在 bootstrap.min.css 中定义。

示例修改mysite/templates/homepage.html

{% extends "banner_base.html" %}

{% load i18n %}

{% block extra_head %}
<link rel="stylesheet" href="{{ STATIC_URL }}css/my_custom_stuff.css">
{% endblock %}

{% block head_title %}{% trans "Welcome" %}{% endblock %}

{% block body_class %}home{% endblock %}

{% block banner %}
    <h1>{% trans "Welcome to Pinax" %}</h1>
    <p>
        {% blocktrans %}
        <b>Pinax</b> is a <a href="http://djangoproject.com/">Django</a>
        project intended to provide a starting point for websites. By
        integrating numerous reusable Django apps to take care of the
        things that many sites have in common, it lets you focus on what
        makes your site different.
        {% endblocktrans %}
    </p>

    <h2>About Zero Project</h2>
    <p>
        {% blocktrans %}
        This project lays the foundation for all other Pinax starter projects. It
        provides the project directory layout and some key infrastructure apps on
        which the other starter projects are based.
        {% endblocktrans %}
    </p>

    <p><a href="http://pinaxproject.com/" class="btn primary large">{% trans "Learn more &raquo;" %}</a></p>
{% endblock %}

添加的具体块是

{% block extra_head %}
<link rel="stylesheet" href="{{ STATIC_URL }}css/my_custom_stuff.css">
{% endblock %}

请注意,我们也可以将其添加到mysite/templates/site_base.html. 这完全取决于您要在我们的my_custom_stuff.css文件中加载哪个模板。

my_custom_stuff.css需要驻留在mysite/static/css目录中。

于 2012-11-03T17:12:24.087 回答