相关疑难解决方法(0)

如何以正确的方式设置Django翻译?

我有一个翻译不能在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

python django django-i18n

27
推荐指数
1
解决办法
2万
查看次数

在nginx上更改标题'Django administration'文本

我按照这个问题的答案来改变我的django管理面板标题标题.

我试过这个:

有一种简单的方法可以设置管理站点标题 - 将它分配给urls.py中的当前管理实例

admin.site.site_header = 'My admin'

但它只是在我通过页面运行时才有效Python manage.py runserver

我的问题是,当我通过gunicorn和运行网站时,如何更改管理员标题标题nginx

django nginx django-admin gunicorn

6
推荐指数
1
解决办法
7195
查看次数

django 1.9 +自定义管理界面

我正在使用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-templates django-admin

6
推荐指数
1
解决办法
5413
查看次数

如何更改Django管理页面的名称?

我正在学习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

python django

4
推荐指数
2
解决办法
1258
查看次数

django:如何实际覆盖管理站点模板

我知道这个问题已经被问了几次了,但是我基本上遍历了所有关于堆栈溢出的内容,但仍然无法解决这个问题。现在,我只是尝试简单地更改管理站点标题。我有以下几点:

#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 django django-admin

3
推荐指数
2
解决办法
7268
查看次数

Django模板翻译在块中是不可能的

在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标签获得额外的好处.

有很多例子,像在这里,它使用正是图案上方-和它的工作对子级.欢迎任何帮助.

python django templates translation python-3.x

2
推荐指数
1
解决办法
977
查看次数