1

我在 django 上的 settings.py 中有这种语言:

LANGUAGE_CODE = 'es'    
LANGUAGES = (
        ('en', 'English'),
        ('de', 'Deutsch'),
        ('es', 'Spanish'),
    )

在我的 urls.py

urlpatterns = patterns('',
    url(r'^$', home, name='home'),
    url(r'^admin/', include(admin.site.urls), name="admin"),
)

casas_patterns = patterns('',
    url(r'^$', totes_cases ,name="all_houses"),
    url(r'^(?P<Propietat_id>\d+).html$', fitxa_casa, name='fitxa_casa'),

)
urlpatterns+=i18n_patterns('',
    url(_(r'^propiedades/'), include(casas_patterns, namespace='casas')),
)

在我的模板中:

{% load i18n %}

{% get_available_languages as languages %}

{% trans "View this category in:" %}
{% for lang_code, lang_name in languages %}
    {% language lang_code %}
    <a href="{% url 'casas:all_houses' %}">{{ lang_code }}</a>
    {% endlanguage %}
{% endfor %}

它为我生成了这 3 个网址:

/zh/宣传/

/de/propiedades/

/es/宣传/

但唯一有效的是西班牙语(es/propiedades/),其他的则抛出这样的 404 错误。

Using the URLconf defined in inmoport.urls, Django tried these URL patterns, in this order:
^$ [name='home']
^hola.html$ [name='hola']
^admin/
^es/

你知道如何在 URL 的前缀上自动激活语言吗?非常感谢!

4

0 回答 0