【发布时间】:2016-03-27 19:02:08
【问题描述】:
首先,我是 django 的新手。我对这个很酷的框架感到惊讶(不在database 部分和mysql 连接器中)
当我在 css 文件夹中查找 django admin 样式文件夹时,
我看到 rtl css ,但现在我不知道如何将管理样式更改为 rtl 。
这是我文件夹中的屏幕截图
谢谢
【问题讨论】:
首先,我是 django 的新手。我对这个很酷的框架感到惊讶(不在database 部分和mysql 连接器中)
当我在 css 文件夹中查找 django admin 样式文件夹时,
我看到 rtl css ,但现在我不知道如何将管理样式更改为 rtl 。
这是我文件夹中的屏幕截图
谢谢
【问题讨论】:
【讨论】:
Django 会查看 TEMPLATES 设置以查找顺序来检查要呈现的模板。因此,您可以将 rtl.css 添加到基本管理模板的头部,以加载从右到左的 css。
在主项目目录的模板子目录中,创建目录admin 和文件base.html。将 Django 源中的 'django/contrib/admin/templates/base.html' 的内容复制到新创建的文件中。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')], # <- add this line
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
在模板中,您会看到{% block extra_head %}{% endblock %}。在此处插入样式表链接,像这样-
{% block extra_head %}
<link rel='stylesheet' href='{% static 'admin/css/rtl.css' %}' />
{% endblock %}
现在rtl.css 将在任何管理页面加载时加载。
【讨论】:
base_site.html 并添加相同的块。 base_site.html 与base.html 位于同一级别,并且已经在扩展base.html。