Как подключить Django 1.8 и django-localeurl

70
9

Я работаю с Django 1.8, и я установил django-localurl == 2.0.2.

Я загрузил localurl tag {% load localeurl_tags %} в мой шаблон base.html, и я получаю сообщение об ошибке:

TemplateSyntaxError at /

'localeurl_tags' is not a valid tag library: ImportError raised loading localeurl.templatetags.localeurl_tags: cannot import name Token

Как я могу это исправить?

Мои настройки.py

MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'localeurl.middleware.LocaleURLMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)

Мои URL:

urlpatterns = patterns('',
# Examples:
# url(r'^$', 'website.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
(r'^i18n/', include('django.conf.urls.i18n')),
url(r'', include("www.urls", namespace="www")),
url(r'^blog/', include("blog.urls", namespace="blog")),
url(r'^admin/', include(admin.site.urls)),
url(r'^ckeditor/', include('ckeditor.urls')),
(r'^localeurl/', include('localeurl.urls')),
)

Да, у меня есть "localeurl" в приложениях с инструкциями

спросил(а) 2015-07-06T23:57:00+03:00 5 лет, 2 месяца назад
1
Решение
91

Похоже, что localeurl больше не поддерживается, потому что (отсюда):

ПРИМЕЧАНИЕ. Django-localeurl в настоящее время не поддерживается (так что запросы на перенос не будут пересматриваться или объединены), и его подход был устаревшим благодаря внедрению шаблонов URL-адресов, соответствующих языку, в самом Django (https://docs.djangoproject.com/en/1.8/topics/i18n/translation/#module-django.conf.urls.i18n).

Поэтому я бы посмотрел на встроенный способ, потому что сообщение об ошибке (при дальнейшем чтении), по-видимому, предполагает, что класс Token в django.templates больше не существует (вероятно, он выведен в 1.8 или что-то еще).

Вы следовали инструкциям здесь?

Вы добавили 'localeurl.middleware.LocaleURLMiddleware' в ваше промежуточное ПО?

Добавили ли вы 'localeurl' к установленным приложениям?

ответил(а) 2015-07-07T00:00:00+03:00 5 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема