我有一个翻译不能在Django 1.6上工作的问题!我已经添加到我的settings.py中
LANGUAGE_CODE = 'en-us'
ugettext = lambda s: s
LANGUAGES = (
('en', ugettext('English')),
('de', ugettext('German')),
)
Run Code Online (Sandbox Code Playgroud)
还添加了中间件:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
Run Code Online (Sandbox Code Playgroud)
以及我的*.py文件,每当我使用一个字符串,它应该是l10nd:
from django.utils.translation import ugettext_lazy as _
Run Code Online (Sandbox Code Playgroud)
我的模板以
{% extends "base.html" %}
{% load i18n %}
Run Code Online (Sandbox Code Playgroud)
并且在模板内部比我使用trans占位符.例如
<h1>{% trans "Register a tank" %}</h1>
Run Code Online (Sandbox Code Playgroud)
事实上,字符串出现在locale/de/LC_MESSAGES/django.po中,当我运行时我已经翻译了它们.例如
msgid "Register a tank"
msgstr "Einen neuen Tank anmelden"
Run Code Online (Sandbox Code Playgroud)
我的浏览器设置为首先请求德语内容: 浏览器设置
我错过了什么?
PS我目前正在模糊的项目是在github上托管的:https://github.com/frlan/blankspot
我按照这个问题的答案来改变我的django管理面板标题标题.
我试过这个:
有一种简单的方法可以设置管理站点标题 - 将它分配给urls.py中的当前管理实例
admin.site.site_header = 'My admin'
但它只是在我通过页面运行时才有效Python manage.py runserver
我的问题是,当我通过gunicorn和运行网站时,如何更改管理员标题标题nginx
我正在使用Django1.9并尝试覆盖管理界面.
我引用了以下链接来覆盖管理标头
http://stackoverflow.com/questions/4938491/django-admin-change-header-django-administration-text
Run Code Online (Sandbox Code Playgroud)
如帖子中所述,我的目录/文件结构是src-> templates-> admin-> base_site.html
base_site.html
{% extends "admin/base.html" %}
{% block title %}Personal Site{% endblock %}
{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">Control Panel</a></h1>
{% endblock %}
{% block nav-global %}{% endblock %}
Run Code Online (Sandbox Code Playgroud)
但这个页面没有被调用.我从https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/base_site.html复制了base_site.html代码
并改变了标题.
我知道,我可以在django中配置管理头,但这不是我要找的.我的长期目标是配置整个管理UI.所以请解释我如何让这个自定义模板页面被调用.
这是我的模板设置:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR,'templates'),
],
'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',
],
'loaders':[
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader'
]
},
},
]
Run Code Online (Sandbox Code Playgroud)
谢谢Aniruddha
我正在学习Django
我看到了django教程part7
我想重命名django管理页面的名称
所以我做到了
但是没有用.....
mysite / mysite / settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'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',
],
},
},
]
Run Code Online (Sandbox Code Playgroud)
mysite / templates / admin / base_site.html
{% extends "admin/base.html" %}
{% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %}
{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('mysite') }}</a></h1>
{% endblock %}
{% block nav-global %}{% endblock %}
Run Code Online (Sandbox Code Playgroud)
我从Django管理重命名为mysite
我知道这个问题已经被问了几次了,但是我基本上遍历了所有关于堆栈溢出的内容,但仍然无法解决这个问题。现在,我只是尝试简单地更改管理站点标题。我有以下几点:
#base_site.html
{% extends "admin/base_site.html" %}
{% block title %}{{ title }} | {{ site_title|default:_('NEW TITLE') }}{% endblock %}
{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('NEW TITLE') }}</a></h1>
{% endblock %}
{% block nav-global %}{% endblock %}
Run Code Online (Sandbox Code Playgroud)
我试图把它放进去
my_site / templates / admin / base_site.html,
my_site / templates / admin / my_app / base_site.html,以及
my_site / my_app / templates / admin / base_site.html,
但这些都不起作用。
settings.py:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'OPTIONS': { …Run Code Online (Sandbox Code Playgroud) 在Python 3.4下使用Django 1.7.1,我有一个问题,我没有找到任何答案,尽管看似平庸,并且在互联网上看到许多类似的问题.到目前为止我没有解决任何解决方案
我有一个简单的django模板,归结为必不可少的部分.它是内容块中的simle"trans"标签翻译字符串,它覆盖了admin/base内容块.
{% extends "admin/base.html" %}
{% block content %}
{% trans "Entries" %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
有了这个我得到一个TemplateSyntaxError:
Invalid block tag: 'trans', expected 'endblock'
Run Code Online (Sandbox Code Playgroud)
到目前为止我学到了你需要使用块转换来做类似的事情.但我不明白 - 为什么这样做不起作用?有趣的是,如果我取代{% trans "Entries" %}了{{ _("Entries") }}一切正常.但我需要使用trans标签获得额外的好处.
有很多例子,像在这里,它使用正是图案上方-和它的工作对子级.欢迎任何帮助.
django ×5
python ×4
django-admin ×3
django-i18n ×1
gunicorn ×1
nginx ×1
python-3.x ×1
templates ×1
translation ×1